
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <link rel="canonical" href="https://blog.csdn.net/weixin_43835542/article/details/105773885"/>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="renderer" content="webkit"/>
    <meta name="force-rendering" content="webkit"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="report" content='{"pid": "blog", "spm":"1001.2101"}'>
    <meta name="referrer" content="always">
    <meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="alternate" media="handheld" href="#" />
    <meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848">
    <meta name="applicable-device" content="pc">
    <link  href="https://g.csdnimg.cn/static/logo/favicon32.ico"  rel="shortcut icon" type="image/x-icon" />
    <title>Python关于定时任务_YUAYU博客-CSDN博客</title>
    <script>
      (function(){ 
        var el = document.createElement("script"); 
        el.src = "https://s3a.pstatp.com/toutiao/push.js?1abfa13dfe74d72d41d83c86d240de427e7cac50c51ead53b2e79d40c7952a23ed7716d05b4a0f683a653eab3e214672511de2457e74e99286eb2c33f4428830"; 
        el.id = "ttzz"; 
        var s = document.getElementsByTagName("script")[0]; 
        s.parentNode.insertBefore(el, s);
      })(window)
    </script>
        <meta name="keywords" content="Python关于定时任务">
        <meta name="csdn-baidu-search"  content='{"autorun":true,"install":true,"keyword":"Python关于定时任务"}'>
    <meta name="description" content="Python实现定点与定时任务方式比较多，找到下面四中实现方式，每个方式都有自己应用场景；下面来快速介绍Python中常用的定时任务实现方式：1.循环+sleep；2.线程模块中Timer类；3.schedule模块；4.定时框架：APScheduler文章目录一、循环 + sleep二、线程模块中Timer类三、schedule模块四、定时框架：APScheduler一、循环 + s...">
    <script src='//g.csdnimg.cn/tingyun/1.8.3/blog.js' type='text/javascript'></script>
        <link rel="stylesheet" type="text/css" href="https://csdnimg.cn/release/blogv2/dist/pc/css/detail_enter-7eae656c78.min.css">
    <script type="application/ld+json">{"@context":"https://ziyuan.baidu.com/contexts/cambrian.jsonld","@id":"https://blog.csdn.net/weixin_43835542/article/details/105773885","appid":"1638831770136827","pubDate":"2020-04-27T00:06:58","title":"Python关于定时任务_YUAYU博客-CSDN博客","upDate":"2020-04-27T00:06:58"}</script>
        <link rel="stylesheet" type="text/css" href="https://csdnimg.cn/release/blogv2/dist/pc/themesSkin/skin-sea/skin-sea-d3a08c2048.min.css">
    <script src="https://csdnimg.cn/public/common/libs/jquery/jquery-1.9.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        var isCorporate = false;//注释删除enterprise
        var username =  "weixin_43835542";
        var skinImg = "white";
        var blog_address = "https://blog.csdn.net/weixin_43835542";
        var currentUserName = "";
        var isOwner = false;
        var loginUrl = "http://passport.csdn.net/account/login?from=https://blog.csdn.net/weixin_43835542/article/details/105773885";
        var blogUrl = "https://blog.csdn.net/";
        var avatar = "https://profile.csdnimg.cn/8/A/A/3_weixin_43835542";
        var articleTitle = "Python关于定时任务";
        var articleDesc = "Python实现定点与定时任务方式比较多，找到下面四中实现方式，每个方式都有自己应用场景；下面来快速介绍Python中常用的定时任务实现方式：1.循环+sleep；2.线程模块中Timer类；3.schedule模块；4.定时框架：APScheduler文章目录一、循环 + sleep二、线程模块中Timer类三、schedule模块四、定时框架：APScheduler一、循环 + s...";
        var articleTitles = "Python关于定时任务_YUAYU博客-CSDN博客";
        var nickName = "YUAYU-";
        var articleDetailUrl = "https://blog.csdn.net/weixin_43835542/article/details/105773885";
        if(window.location.host.split('.').length == 3) {
            blog_address = blogUrl + username;
        }
        var skinStatus = "White";
        var blogStaticHost = "https://csdnimg.cn/release/blogv2/"
    </script>
    <script src="https://g.csdnimg.cn/??fixed-sidebar/1.1.6/fixed-sidebar.js" type="text/javascript"></script>
    <script src='//g.csdnimg.cn/common/csdn-report/report.js' type='text/javascript'></script>
    <link rel="stylesheet" type="text/css" href="https://csdnimg.cn/public/sandalstrap/1.4/css/sandalstrap.min.css">
    <style>
        .MathJax, .MathJax_Message, .MathJax_Preview{
            display: none
        }
    </style>
    <script src="https://dup.baidustatic.com/js/ds.js"></script>
</head>
<body class="nodata " style="">
        <script>
            var toolbarSearchExt = '{"landingWord":[],"queryWord":"python","tag":["python","多线程"],"title":"Python关于定时任务"}';
        </script>
    <script src="https://g.csdnimg.cn/common/csdn-toolbar/csdn-toolbar.js" type="text/javascript"></script>
    <script>
    (function(){
        var bp = document.createElement('script');
        var curProtocol = window.location.protocol.split(':')[0];
        if (curProtocol === 'https') {
            bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
        }
        else {
            bp.src = 'http://push.zhanzhang.baidu.com/push.js';
        }
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(bp, s);
    })();
    </script>
<link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/pc/css/blog_code-01256533b5.min.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/chart-3456820cac.css" />
<div class="main_father clearfix d-flex justify-content-center" style="height:100%;"> 
    <div class="container clearfix" id="mainBox">
        <main>
<script type="text/javascript">
    var blogSensitiveWords = "";
    function getQueryString(name) {   
      var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象  
      var r = window.location.search.substr(1).match(reg);  //匹配目标参数
      if( r != null ) return decodeURIComponent( r[2] ); return '';   
    }
    function stripscript(s){ 
      var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~！@#￥……&*（）——|{}【】‘；：”“'。，、？%]") 
      var rs = ""; 
      for (var i = 0; i < s.length; i++) { 
        rs = rs+s.substr(i, 1).replace(pattern, ''); 
      } 
      return rs; 
    }
    var blogHotWords = stripscript(getQueryString('utm_term')).length > 1 ? stripscript(getQueryString('utm_term')) : ''
</script>
<div class="blog-content-box">
    <div class="article-header-box">
        <div class="article-header">
            <div class="article-title-box">
                <h1 class="title-article" id="articleContentId">Python关于定时任务</h1>
            </div>
            <div class="article-info-box">
                <div class="article-bar-top">
                    <img class="article-type-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/original.png" alt="">
                    <div class="bar-content">
                    <a class="follow-nickName " href="https://blog.csdn.net/weixin_43835542" target="_blank" rel="noopener">YUAYU-</a>
                    <span class="time">2020-04-27 00:06:58</span>
                    <img class="article-read-img article-heard-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/articleReadEyes.png" alt="">
                    <span class="read-count">209</span>
                    <a id="blog_detail_zk_collection" class="un-collection" data-report-click='{"mod":"popu_823","spm":"1001.2101.3001.4232","ab":"new"}'>
                        <img class="article-collect-img article-heard-img un-collect-status isdefault" style="display:inline-block" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarCollect.png" alt="">
                        <img class="article-collect-img article-heard-img collect-status isactive" style="display:none" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarCollectionActive.png" alt="">
                        <span class="name">收藏</span>
                        <span class="get-collection">
                            3
                        </span>
                    </a>
                    </div>
                </div>
                <div class="blog-tags-box">
                    <div class="tags-box artic-tag-box">
                            <span class="label">分类专栏：</span>
                                <a class="tag-link" href="https://blog.csdn.net/weixin_43835542/category_10326961.html" target="_blank" rel="noopener">笔记</a>
                            <span class="label">文章标签：</span>
                                <a data-report-click='{"mod":"popu_626","spm":"1001.2101.3001.4223","strategy":"python","ab":"new"}' class="tag-link" href="https://www.csdn.net/tags/MtjaQg4sNDk0LWJsb2cO0O0O.html" target="_blank" rel="noopener">python</a>
                                <a data-report-click='{"mod":"popu_626","spm":"1001.2101.3001.4223","strategy":"多线程","ab":"new"}' class="tag-link" href="https://www.csdn.net/tags/MtTaEg0sMzM0MjItYmxvZwO0O0OO0O0O.html" target="_blank" rel="noopener">多线程</a>
                    </div>
                </div>
                <div class="up-time"><span>最后发布:2020-04-27 00:06:58</span><span>首次发布:2020-04-27 00:06:58</span></div>
                <div class="slide-content-box">
                    <div class="article-copyright">
                        <div class="creativecommons">
                            版权声明：本文为博主原创文章，遵循<a href="http://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="noopener"> CC 4.0 BY-SA </a>版权协议，转载请附上原文出处链接和本声明。
                        </div>
                        <div class="article-source-link">
                            本文链接：<a href="https://blog.csdn.net/weixin_43835542/article/details/105773885" target="_blank">https://blog.csdn.net/weixin_43835542/article/details/105773885</a>
                        </div>
                    </div>
                </div>
                <div class="operating">
                    <a class="href-article-edit slide-toggle">版权</a>
                </div>
            </div>
        </div>
    </div>
    <article class="baidu_pl">
        <div id="article_content" class="article_content clearfix">
        <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-b5506197d8.css">
                <div id="content_views" class="markdown_views prism-atom-one-light">
                    <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
                        <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
                    </svg>
                    <p>Python实现定点与定时任务方式比较多&#xff0c;找到下面四中实现方式&#xff0c;每个方式都有自己应用场景&#xff1b;下面来快速介绍Python中常用的定时任务实现方式&#xff1a;</p> 
<p>1.循环&#43;sleep&#xff1b;</p> 
<p>2.线程模块中Timer类&#xff1b;</p> 
<p>3.schedule模块&#xff1b;</p> 
<p>4.定时框架&#xff1a;APScheduler<br /> </p>
<div class="toc">
 <h3>文章目录</h3>
 <ul><li><a href="#__sleep_10">一、循环 &#43; sleep</a></li><li><a href="#Timer_70">二、线程模块中Timer类</a></li><li><a href="#schedule_154">三、schedule模块</a></li><li><a href="#APScheduler_284">四、定时框架&#xff1a;APScheduler</a></li></ul>
</div>
<p></p> 
<h1><a id="__sleep_10"></a>一、循环 &#43; sleep</h1> 
<p><strong><font size="5">优点</font></strong>&#xff1a;</p> 
<p>适合简单的测试</p> 
<p><strong><font size="5">缺点</font></strong>&#xff1a;</p> 
<p>只能处理单个定时任务&#xff0c;不容易控制&#xff0c;而且是个阻塞函数&#xff0c;time.sleep()是睡眠线程。<br /> 当前线程调用 sleep() 函数进入阻塞状态后&#xff0c;在其睡眠时间段内&#xff0c;该线程不会获得执行的机会&#xff0c;即使系统中没有其他可执行的线程&#xff0c;处于 sleep() 中的线程也不会执行&#xff0c;因此 sleep() 函数常用来暂停程序的运行。</p> 
<p><strong><font size="5">代码</font></strong>&#xff1a;</p> 
<p><strong>测试一</strong>&#xff1a;只能处理单个定时任务。</p> 
<pre><code class="prism language-python"><span class="token keyword">import</span> time

<span class="token keyword">def</span> <span class="token function">fun1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#39;fun1:&#39;</span><span class="token punctuation">,</span>time<span class="token punctuation">.</span>ctime<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token keyword">def</span> <span class="token function">run</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">while</span> <span class="token boolean">True</span><span class="token punctuation">:</span>
        fun1<span class="token punctuation">(</span><span class="token punctuation">)</span>
        time<span class="token punctuation">.</span>sleep<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span>   <span class="token comment"># 每隔3S执行一次</span>
run<span class="token punctuation">(</span><span class="token punctuation">)</span>

<span class="token comment"># 结果&#xff1a;</span>
fun1<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">57</span><span class="token punctuation">:</span><span class="token number">02</span> <span class="token number">2020</span>
fun1<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">57</span><span class="token punctuation">:</span><span class="token number">05</span> <span class="token number">2020</span>
fun1<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">57</span><span class="token punctuation">:</span><span class="token number">08</span> <span class="token number">2020</span>
</code></pre> 
<p><strong>测试二</strong>&#xff1a;假如我又加进来一个函数&#xff0c;我想每秒都执行</p> 
<pre><code class="prism language-python"><span class="token keyword">import</span> time

<span class="token keyword">def</span> <span class="token function">fun1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#39;fun1:&#39;</span><span class="token punctuation">,</span>time<span class="token punctuation">.</span>ctime<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token keyword">def</span> <span class="token function">fun2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#39;fun2:&#39;</span><span class="token punctuation">,</span>time<span class="token punctuation">.</span>ctime<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token keyword">def</span> <span class="token function">run</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">while</span> <span class="token boolean">True</span><span class="token punctuation">:</span>
        fun1<span class="token punctuation">(</span><span class="token punctuation">)</span>
        time<span class="token punctuation">.</span>sleep<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span>   <span class="token comment"># 每3S执行一次</span>
        fun2<span class="token punctuation">(</span><span class="token punctuation">)</span>          <span class="token comment"># 每1s执行一次</span>

run<span class="token punctuation">(</span><span class="token punctuation">)</span>

<span class="token comment"># 结果</span>
fun1<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">04</span><span class="token punctuation">:</span><span class="token number">03</span> <span class="token number">2020</span>
fun2<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">04</span><span class="token punctuation">:</span><span class="token number">06</span> <span class="token number">2020</span>	<span class="token comment"># 等fun1() 执行完以后才可以执行</span>
fun1<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">04</span><span class="token punctuation">:</span><span class="token number">06</span> <span class="token number">2020</span>
fun2<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">04</span><span class="token punctuation">:</span><span class="token number">09</span> <span class="token number">2020</span>
fun1<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">04</span><span class="token punctuation">:</span><span class="token number">09</span> <span class="token number">2020</span>
fun2<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">04</span><span class="token punctuation">:</span><span class="token number">12</span> <span class="token number">2020</span>
fun1<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">04</span><span class="token punctuation">:</span><span class="token number">12</span> <span class="token number">2020</span>
fun2<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">04</span><span class="token punctuation">:</span><span class="token number">15</span> <span class="token number">2020</span>
fun1<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">04</span><span class="token punctuation">:</span><span class="token number">15</span> <span class="token number">2020</span>
</code></pre> 
<h1><a id="Timer_70"></a>二、线程模块中Timer类</h1> 
<p>timer最基本理解就是定时器&#xff0c;我们可以启动多个定时任务&#xff0c;这些定时器任务是异步执行&#xff0c;所以不存在等待顺序执行问题。<br /> 定时器只能执行一次&#xff0c;如果需要重复执行&#xff0c;需要重新添加任务&#xff1b;</p> 
<p><font size="5"><a href="https://blog.csdn.net/brucewong0516/article/details/84589616">Time 模块理解</a></font></p> 
<p><strong><font size="5">优点</font>&#xff1a;</strong></p> 
<p>非阻塞,Timer的实质是使用线程方式去执行任务&#xff0c;每次执行完后会销毁&#xff0c;所以不必担心资源问题。</p> 
<p><strong><font size="5">缺点</font>&#xff1a;</strong></p> 
<p>不易管理多个任务</p> 
<p><strong><font size="5">代码</font>&#xff1a;</strong></p> 
<p><strong>测试一&#xff1a;</strong> Timer只能执行一次</p> 
<pre><code class="prism language-python"><span class="token keyword">import</span> datetime
<span class="token keyword">import</span> time
<span class="token keyword">from</span> threading <span class="token keyword">import</span> Timer

<span class="token keyword">def</span> <span class="token function">fun1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#39;fun1:&#39;</span><span class="token punctuation">,</span>time<span class="token punctuation">.</span>ctime<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token keyword">def</span> <span class="token function">fun2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#39;fun2:&#39;</span><span class="token punctuation">,</span>time<span class="token punctuation">.</span>ctime<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token comment">#记录当前时间</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
<span class="token comment">#3S执行一次</span>
sTimer <span class="token operator">&#61;</span> Timer<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">,</span> fun1<span class="token punctuation">)</span>
<span class="token comment">#1S执行一次</span>
nTimer <span class="token operator">&#61;</span> Timer<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> fun2<span class="token punctuation">)</span>
<span class="token comment">#使用线程方式执行</span>
sTimer<span class="token punctuation">.</span>start<span class="token punctuation">(</span><span class="token punctuation">)</span>
nTimer<span class="token punctuation">.</span>start<span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token comment">#等待结束</span>
sTimer<span class="token punctuation">.</span>join<span class="token punctuation">(</span><span class="token punctuation">)</span>
nTimer<span class="token punctuation">.</span>join<span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token comment">#记录结束时间</span>
<span class="token keyword">print</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token comment"># 结果</span>
<span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">42</span><span class="token punctuation">:</span><span class="token number">12.933858</span>
fun2<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">42</span><span class="token punctuation">:</span><span class="token number">13</span> <span class="token number">2020</span>
fun1<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">42</span><span class="token punctuation">:</span><span class="token number">15</span> <span class="token number">2020</span>
<span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">42</span><span class="token punctuation">:</span><span class="token number">15.934419</span>
</code></pre> 
<p><strong>测试二&#xff1a;</strong> Timer只能执行一次&#xff0c;所以执行完成之后需要再次添加任务&#xff0c;我们对代码进行修改&#xff1a;</p> 
<pre><code class="prism language-python"><span class="token keyword">import</span> datetime
<span class="token keyword">import</span> time
<span class="token keyword">from</span> threading <span class="token keyword">import</span> Timer

<span class="token keyword">def</span> <span class="token function">fun1</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#39;fun1:&#39;</span><span class="token punctuation">,</span>time<span class="token punctuation">.</span>ctime<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
    <span class="token comment"># 启动定时器任务&#xff0c;每3秒执行一次</span>
    Timer<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">,</span> fun1<span class="token punctuation">)</span><span class="token punctuation">.</span>start<span class="token punctuation">(</span><span class="token punctuation">)</span>

<span class="token keyword">def</span> <span class="token function">fun2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#39;fun2:&#39;</span><span class="token punctuation">,</span>time<span class="token punctuation">.</span>ctime<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
    <span class="token comment"># 启动定时器任务&#xff0c;每1秒执行一次</span>
    Timer<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">,</span> fun2<span class="token punctuation">)</span><span class="token punctuation">.</span>start<span class="token punctuation">(</span><span class="token punctuation">)</span>

fun1<span class="token punctuation">(</span><span class="token punctuation">)</span>
fun2<span class="token punctuation">(</span><span class="token punctuation">)</span>

<span class="token comment"># 结果</span>
fun1<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">54</span><span class="token punctuation">:</span><span class="token number">28</span> <span class="token number">2020</span>
fun2<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">54</span><span class="token punctuation">:</span><span class="token number">28</span> <span class="token number">2020</span>
fun2<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">54</span><span class="token punctuation">:</span><span class="token number">29</span> <span class="token number">2020</span>
fun2<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">54</span><span class="token punctuation">:</span><span class="token number">30</span> <span class="token number">2020</span>
fun1<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">54</span><span class="token punctuation">:</span><span class="token number">31</span> <span class="token number">2020</span>
fun2<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">54</span><span class="token punctuation">:</span><span class="token number">31</span> <span class="token number">2020</span>
fun2<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">54</span><span class="token punctuation">:</span><span class="token number">32</span> <span class="token number">2020</span>
fun2<span class="token punctuation">:</span> Sun Apr <span class="token number">26</span> <span class="token number">18</span><span class="token punctuation">:</span><span class="token number">54</span><span class="token punctuation">:</span><span class="token number">33</span> <span class="token number">2020</span>
<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
无限循环下去
</code></pre> 
<p>从时间中可以看到&#xff0c;这两个任务可以同时进行不存在等待问题</p> 
<h1><a id="schedule_154"></a>三、schedule模块</h1> 
<p>schedule是一个第三方轻量级的任务调度模块&#xff0c;可以按照秒&#xff0c;分&#xff0c;小时&#xff0c;日期或者自定义事件执行时间&#xff1b;</p> 
<p><strong>安装方式&#xff1a;<br /> pip install schedule</strong></p> 
<p><strong><font size="5">优点&#xff1a;</font></strong></p> 
<p>可以管理和调度多个任务,可以进行控制</p> 
<p><strong><font size="5">缺点&#xff1a;</font></strong></p> 
<p>阻塞式函数</p> 
<p><strong><font size="5">代码&#xff1a;</font></strong></p> 
<p><strong><font size="3">普通版本&#xff0c;简单介绍&#xff1a;</font></strong></p> 
<pre><code class="prism language-python"><span class="token keyword">import</span> schedule
<span class="token keyword">import</span> time

<span class="token keyword">def</span> <span class="token function">job</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working...&#34;</span><span class="token punctuation">)</span>

schedule<span class="token punctuation">.</span>every<span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">.</span>seconds<span class="token punctuation">.</span>do<span class="token punctuation">(</span>job<span class="token punctuation">)</span>	    <span class="token comment"># 每隔十秒钟执行一次任务</span>
schedule<span class="token punctuation">.</span>every<span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">.</span>minutes<span class="token punctuation">.</span>do<span class="token punctuation">(</span>job<span class="token punctuation">)</span>	    <span class="token comment"># 每隔十分钟执行一次任务</span>
schedule<span class="token punctuation">.</span>every<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">.</span>hour<span class="token punctuation">.</span>do<span class="token punctuation">(</span>job<span class="token punctuation">)</span>	        <span class="token comment"># 每隔一小时执行一次任务</span>
schedule<span class="token punctuation">.</span>every<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span>day<span class="token punctuation">.</span>at<span class="token punctuation">(</span><span class="token string">&#34;10:30&#34;</span><span class="token punctuation">)</span><span class="token punctuation">.</span>do<span class="token punctuation">(</span>job<span class="token punctuation">)</span><span class="token comment"># 每天的10:30执行一次任务</span>
schedule<span class="token punctuation">.</span>every<span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span><span class="token punctuation">.</span>to<span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span><span class="token punctuation">.</span>days<span class="token punctuation">.</span>do<span class="token punctuation">(</span>job<span class="token punctuation">)</span>	<span class="token comment"># 每隔5到10天执行一次任务</span>
schedule<span class="token punctuation">.</span>every<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span>monday<span class="token punctuation">.</span>do<span class="token punctuation">(</span>job<span class="token punctuation">)</span>         <span class="token comment"># 每周一的这个时候执行一次任务</span>
schedule<span class="token punctuation">.</span>every<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span>wednesday<span class="token punctuation">.</span>at<span class="token punctuation">(</span><span class="token string">&#34;13:15&#34;</span><span class="token punctuation">)</span><span class="token punctuation">.</span>do<span class="token punctuation">(</span>job<span class="token punctuation">)</span>  <span class="token comment"># 每周三13:15执行一次任务</span>

<span class="token keyword">while</span> <span class="token boolean">True</span><span class="token punctuation">:</span>
    schedule<span class="token punctuation">.</span>run_pending<span class="token punctuation">(</span><span class="token punctuation">)</span>  <span class="token comment"># 运行所有可以运行的任务</span>
    time<span class="token punctuation">.</span>sleep<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span>
</code></pre> 
<p><strong><font size="3">普通版本调用&#xff0c;阻塞&#xff1a;</font></strong></p> 
<pre><code class="prism language-python"><span class="token keyword">import</span> schedule
<span class="token keyword">import</span> datetime
<span class="token keyword">import</span> time
<span class="token keyword">import</span> threading

<span class="token keyword">def</span> <span class="token function">job</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job1  start  {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
    time<span class="token punctuation">.</span>sleep<span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job1  end  {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token keyword">def</span> <span class="token function">job2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job2        {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

schedule<span class="token punctuation">.</span>every<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">.</span>seconds<span class="token punctuation">.</span>do<span class="token punctuation">(</span>job<span class="token punctuation">)</span>
schedule<span class="token punctuation">.</span>every<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">.</span>seconds<span class="token punctuation">.</span>do<span class="token punctuation">(</span>job2<span class="token punctuation">)</span>

<span class="token keyword">while</span> <span class="token boolean">True</span><span class="token punctuation">:</span>
    schedule<span class="token punctuation">.</span>run_pending<span class="token punctuation">(</span><span class="token punctuation">)</span>
    time<span class="token punctuation">.</span>sleep<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span>
 
<span class="token comment"># 结果 注意看 时间</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">26</span><span class="token punctuation">:</span><span class="token number">20.229107</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  end  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">26</span><span class="token punctuation">:</span><span class="token number">30.229383</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">26</span><span class="token punctuation">:</span><span class="token number">30.229383</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">26</span><span class="token punctuation">:</span><span class="token number">33.230687</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  end  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">26</span><span class="token punctuation">:</span><span class="token number">43.231527</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">26</span><span class="token punctuation">:</span><span class="token number">43.231527</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">26</span><span class="token punctuation">:</span><span class="token number">46.232750</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  end  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">26</span><span class="token punctuation">:</span><span class="token number">56.233455</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">26</span><span class="token punctuation">:</span><span class="token number">56.233455</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">26</span><span class="token punctuation">:</span><span class="token number">59.234296</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  end  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">27</span><span class="token punctuation">:</span><span class="token number">09.235169</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">27</span><span class="token punctuation">:</span><span class="token number">09.235169</span>
</code></pre> 
<p><strong><font size="3">改为线程版本&#xff0c;非阻塞&#xff1a;</font></strong></p> 
<pre><code class="prism language-python"><span class="token keyword">import</span> schedule
<span class="token keyword">import</span> datetime
<span class="token keyword">import</span> time
<span class="token keyword">import</span> threading

<span class="token keyword">def</span> <span class="token function">job</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job1  start  {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
    time<span class="token punctuation">.</span>sleep<span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">)</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job1  end  {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token keyword">def</span> <span class="token function">job2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job2        {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>


<span class="token keyword">def</span> <span class="token function">run_threaded</span><span class="token punctuation">(</span>job_func<span class="token punctuation">)</span><span class="token punctuation">:</span>
    job_thread <span class="token operator">&#61;</span> threading<span class="token punctuation">.</span>Thread<span class="token punctuation">(</span>target<span class="token operator">&#61;</span>job_func<span class="token punctuation">)</span>
    job_thread<span class="token punctuation">.</span>start<span class="token punctuation">(</span><span class="token punctuation">)</span>

schedule<span class="token punctuation">.</span>every<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">.</span>seconds<span class="token punctuation">.</span>do<span class="token punctuation">(</span>run_threaded<span class="token punctuation">,</span>job<span class="token punctuation">)</span>
schedule<span class="token punctuation">.</span>every<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">.</span>seconds<span class="token punctuation">.</span>do<span class="token punctuation">(</span>run_threaded<span class="token punctuation">,</span>job2<span class="token punctuation">)</span>

<span class="token keyword">while</span> <span class="token boolean">True</span><span class="token punctuation">:</span>
    schedule<span class="token punctuation">.</span>run_pending<span class="token punctuation">(</span><span class="token punctuation">)</span>
    time<span class="token punctuation">.</span>sleep<span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span>
 
<span class="token comment"># 结果 注意看  时间 和 statr 和 end</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">24.361645</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">24.361645</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">27.363522</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">27.363522</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">30.364084</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">30.364974</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">33.365655</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">33.366683</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  end  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">34.362784</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">36.367951</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">36.368827</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  end  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">37.365054</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">39.370776</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">39.371645</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  end  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">28</span><span class="token punctuation">:</span><span class="token number">40.365915</span>
</code></pre> 
<p>最近有人问我while True之类的是什么意思&#xff0c;很简单&#xff0c;如果你去掉while True这个死循环的话&#xff0c;schedule.run_pending()是没有办法持续运行的&#xff0c;那么schedule.run_pending()是个什么东西呢——</p> 
<p>schedule其实就只是个定时器。在while True死循环中&#xff0c;schedule.run_pending()是保持schedule一直运行&#xff0c;去查询上面那一堆的任务&#xff0c;在任务中&#xff0c;就可以设置不同的时间去运行。跟linux中设置crontab定时任务是类似的。</p> 
<p>所以&#xff0c;schedule有一定的局限性&#xff0c;所以只能用来执行一些小型的定时任务&#xff0c;它的局限性在哪呢——</p> 
<p>1.需要定时运行的函数job不应当是死循环类型的&#xff0c;也就是说&#xff0c;这个线程应该有一个执行完毕的出口。一是因为线程万一僵死&#xff0c;会是非常棘手的问题&#xff1b;二是下一次定时任务还会开启一个新的线程&#xff0c;执行次数多了就会演变成灾难。</p> 
<p>2.如果schedule的时间间隔设置得比job执行的时间短&#xff0c;一样会线程堆积形成灾难&#xff0c;也就是说&#xff0c;我job的执行时间是1个小时&#xff0c;但是我定时任务设置的是5分钟一次&#xff0c;那就会一直堆积线程。</p> 
<h1><a id="APScheduler_284"></a>四、定时框架&#xff1a;APScheduler</h1> 
<p>APScheduler是Python的一个定时任务框架&#xff0c;用于执行周期或者定时任务&#xff0c;<br /> 可以基于日期、时间间隔&#xff0c;及类似于Linux上的定时任务crontab类型的定时任务&#xff1b;<br /> 该该框架不仅可以添加、删除定时任务&#xff0c;还可以将任务存储到数据库中&#xff0c;实现任务的持久化&#xff0c;使用起来非常方便。</p> 
<p><strong>安装方式&#xff1a;pip install apscheduler</strong></p> 
<p><strong>apscheduler组件及简单说明&#xff1a;</strong></p> 
<p>1&gt;triggers&#xff08;触发器&#xff09;&#xff1a;触发器包含调度逻辑&#xff0c;每一个作业有它自己的触发器<br /> 2&gt;job stores&#xff08;作业存储&#xff09;:用来存储被调度的作业&#xff0c;默认的作业存储器是简单地把作业任务保存在内存中,支持存储到MongoDB&#xff0c;Redis数据库中<br /> 3&gt; executors&#xff08;执行器&#xff09;&#xff1a;执行器用来执行定时任务&#xff0c;只是将需要执行的任务放在新的线程或者线程池中运行<br /> 4&gt;schedulers&#xff08;调度器&#xff09;&#xff1a;调度器是将其它部分联系在一起,对使用者提供接口&#xff0c;进行任务添加&#xff0c;设置&#xff0c;删除。</p> 
<p>interval 触发器<br /> 参数 说明<br /> weeks (int) 间隔几周<br /> days (int) 间隔几天<br /> hours (int) 间隔几小时<br /> minutes (int) 间隔几分钟<br /> seconds (int) 间隔多少秒<br /> start_date (datetime 或 str) 开始日期<br /> end_date (datetime 或 str) 结束日期<br /> timezone (datetime.tzinfo 或str) 时区</p> 
<p>cron 触发器:<br /> 参数 说明<br /> year (int 或 str) 年&#xff0c;4位数字<br /> month (int 或 str) 月 (范围1-12)<br /> day (int 或 str) 日 (范围1-31<br /> week (int 或 str) 周 (范围1-53)<br /> day_of_week (int 或 str) 周内第几天或者星期几 (范围0-6 或者 mon,tue,wed,thu,fri,sat,sun)<br /> hour (int 或 str) 时 (范围0-23)<br /> minute (int 或 str) 分 (范围0-59)<br /> second (int 或 str) 秒 (范围0-59)<br /> start_date (datetime 或 str) 最早开始日期(包含)<br /> end_date (datetime 或 str) 最晚结束时间(包含)<br /> timezone (datetime.tzinfo 或str) 指定时区</p> 
<p><strong><font size="5">优点&#xff1a;</font></strong></p> 
<p>实现简单&#xff0c;只需要直接创建任务&#xff0c;并将添加到调度器中即可。</p> 
<p><strong><font size="5">缺点&#xff1a;</font></strong></p> 
<p>。。。。。</p> 
<p><strong><font size="5">代码&#xff1a;</font></strong></p> 
<p><strong><font size="3">普通版本调用&#xff1a;</font></strong></p> 
<pre><code class="prism language-python"><span class="token keyword">import</span> schedule
<span class="token keyword">import</span> datetime
<span class="token keyword">import</span> time
<span class="token keyword">import</span> threading
<span class="token keyword">from</span> apscheduler<span class="token punctuation">.</span>schedulers<span class="token punctuation">.</span>background <span class="token keyword">import</span> BlockingScheduler

<span class="token keyword">def</span> <span class="token function">job</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job1  start  {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
    <span class="token comment"># time.sleep(5)</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job1  end  {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token keyword">def</span> <span class="token function">job2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job2        {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token keyword">if</span> __name__ <span class="token operator">&#61;&#61;</span> <span class="token string">&#39;__main__&#39;</span><span class="token punctuation">:</span>
    scheduler <span class="token operator">&#61;</span> BlockingScheduler<span class="token punctuation">(</span><span class="token punctuation">)</span>
    scheduler<span class="token punctuation">.</span>add_job<span class="token punctuation">(</span>job<span class="token punctuation">,</span> <span class="token string">&#39;interval&#39;</span><span class="token punctuation">,</span> seconds<span class="token operator">&#61;</span><span class="token number">3</span><span class="token punctuation">)</span>  <span class="token comment"># 间隔3秒钟执行一次</span>
    scheduler<span class="token punctuation">.</span>add_job<span class="token punctuation">(</span>job2<span class="token punctuation">,</span><span class="token string">&#39;interval&#39;</span><span class="token punctuation">,</span> seconds<span class="token operator">&#61;</span><span class="token number">3</span><span class="token punctuation">)</span>  <span class="token comment"># 间隔3秒钟执行一次</span>
    scheduler<span class="token punctuation">.</span>start<span class="token punctuation">(</span><span class="token punctuation">)</span>  <span class="token comment"># 这里的调度任务是独立的一个线程</span>

<span class="token comment"># 结果</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">54</span><span class="token punctuation">:</span><span class="token number">12.657444</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  end  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">54</span><span class="token punctuation">:</span><span class="token number">12.657444</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">54</span><span class="token punctuation">:</span><span class="token number">12.657444</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">54</span><span class="token punctuation">:</span><span class="token number">15.658007</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  end  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">54</span><span class="token punctuation">:</span><span class="token number">15.658324</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">54</span><span class="token punctuation">:</span><span class="token number">15.658554</span>

</code></pre> 
<p><strong><font size="3">运行时间大于调用时间&#xff1a;</font></strong></p> 
<pre><code class="prism language-python"><span class="token keyword">import</span> schedule
<span class="token keyword">import</span> datetime
<span class="token keyword">import</span> time
<span class="token keyword">import</span> threading
<span class="token keyword">from</span> apscheduler<span class="token punctuation">.</span>schedulers<span class="token punctuation">.</span>background <span class="token keyword">import</span> BlockingScheduler

<span class="token keyword">def</span> <span class="token function">job</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job1  start  {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
    time<span class="token punctuation">.</span>sleep<span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job1  end  {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token keyword">def</span> <span class="token function">job2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job2        {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token keyword">if</span> __name__ <span class="token operator">&#61;&#61;</span> <span class="token string">&#39;__main__&#39;</span><span class="token punctuation">:</span>
    scheduler <span class="token operator">&#61;</span> BlockingScheduler<span class="token punctuation">(</span><span class="token punctuation">)</span>
    scheduler<span class="token punctuation">.</span>add_job<span class="token punctuation">(</span>job<span class="token punctuation">,</span> <span class="token string">&#39;interval&#39;</span><span class="token punctuation">,</span> seconds<span class="token operator">&#61;</span><span class="token number">3</span><span class="token punctuation">)</span>  <span class="token comment"># 间隔3秒钟执行一次</span>
    scheduler<span class="token punctuation">.</span>add_job<span class="token punctuation">(</span>job2<span class="token punctuation">,</span><span class="token string">&#39;interval&#39;</span><span class="token punctuation">,</span> seconds<span class="token operator">&#61;</span><span class="token number">3</span><span class="token punctuation">)</span>  <span class="token comment"># 间隔3秒钟执行一次</span>
    scheduler<span class="token punctuation">.</span>start<span class="token punctuation">(</span><span class="token punctuation">)</span>  <span class="token comment"># 这里的调度任务是独立的一个线程</span>

<span class="token comment"># 结果</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">50</span><span class="token punctuation">:</span><span class="token number">17.710468</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">50</span><span class="token punctuation">:</span><span class="token number">17.726393</span>
Execution of job <span class="token string">&#34;job (trigger: interval[0:00:03], next run at: 2020-04-29 17:50:20 CST)&#34;</span> skipped<span class="token punctuation">:</span> maximum number of running instances reached <span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">50</span><span class="token punctuation">:</span><span class="token number">20.724602</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  end  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">50</span><span class="token punctuation">:</span><span class="token number">22.711978</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">50</span><span class="token punctuation">:</span><span class="token number">23.710288</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">50</span><span class="token punctuation">:</span><span class="token number">23.727116</span>
</code></pre> 
<p>假如&#xff1a;我们在执行任务的时候&#xff0c;这个任务的执行时间为5秒&#xff0c;但是调用它是没3秒调用一次&#xff0c;然后会报错。<br /> 这是因为任务重复了&#xff0c;看这个解释&#xff1a;</p> 
<p><a href="https://pdf-lib.org/Home/Details/10550">https://pdf-lib.org/Home/Details/10550</a></p> 
<p>我们将这个改了&#xff0c;就好了 &#xff1b;但是假如执行时间还是很长&#xff0c;那还是把调用时间延长吧。</p> 
<p><strong>scheduler.add_job(func2, ‘interval’,max_instances&#61;5, seconds&#61;3)</strong></p> 
<p><strong><font size="3">解决运行时间大于调用时间&#xff1a;</font></strong></p> 
<pre><code class="prism language-python"><span class="token keyword">import</span> schedule
<span class="token keyword">import</span> datetime
<span class="token keyword">import</span> time
<span class="token keyword">import</span> threading
<span class="token keyword">from</span> apscheduler<span class="token punctuation">.</span>schedulers<span class="token punctuation">.</span>background <span class="token keyword">import</span> BlockingScheduler

<span class="token keyword">def</span> <span class="token function">job</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job1  start  {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
    time<span class="token punctuation">.</span>sleep<span class="token punctuation">(</span><span class="token number">5</span><span class="token punctuation">)</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job1  end  {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token keyword">def</span> <span class="token function">job2</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&#34;I&#39;m working... in job2        {}&#34;</span><span class="token punctuation">.</span><span class="token builtin">format</span><span class="token punctuation">(</span>datetime<span class="token punctuation">.</span>datetime<span class="token punctuation">.</span>now<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span>

<span class="token keyword">if</span> __name__ <span class="token operator">&#61;&#61;</span> <span class="token string">&#39;__main__&#39;</span><span class="token punctuation">:</span>
    scheduler <span class="token operator">&#61;</span> BlockingScheduler<span class="token punctuation">(</span><span class="token punctuation">)</span>
    scheduler<span class="token punctuation">.</span>add_job<span class="token punctuation">(</span>job<span class="token punctuation">,</span> <span class="token string">&#39;interval&#39;</span><span class="token punctuation">,</span> max_instances<span class="token operator">&#61;</span><span class="token number">3</span><span class="token punctuation">,</span> seconds<span class="token operator">&#61;</span><span class="token number">3</span><span class="token punctuation">)</span>  <span class="token comment"># 间隔3秒钟执行一次,允许重复3个相同任务</span>
    scheduler<span class="token punctuation">.</span>add_job<span class="token punctuation">(</span>job2<span class="token punctuation">,</span> <span class="token string">&#39;interval&#39;</span><span class="token punctuation">,</span>max_instances<span class="token operator">&#61;</span><span class="token number">3</span><span class="token punctuation">,</span> seconds<span class="token operator">&#61;</span><span class="token number">3</span><span class="token punctuation">)</span>  <span class="token comment"># 间隔3秒钟执行一次&#xff0c;允许重复3个相同任务</span>
    scheduler<span class="token punctuation">.</span>start<span class="token punctuation">(</span><span class="token punctuation">)</span>  <span class="token comment"># 这里的调度任务是独立的一个线程</span>

<span class="token comment"># 结果 注意 satrt end 时间</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">48</span><span class="token punctuation">:</span><span class="token number">29.388417</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">48</span><span class="token punctuation">:</span><span class="token number">29.388417</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">48</span><span class="token punctuation">:</span><span class="token number">32.389530</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">48</span><span class="token punctuation">:</span><span class="token number">32.390525</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  end  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">48</span><span class="token punctuation">:</span><span class="token number">34.389543</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">48</span><span class="token punctuation">:</span><span class="token number">35.390585</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">48</span><span class="token punctuation">:</span><span class="token number">35.391533</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  end  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">48</span><span class="token punctuation">:</span><span class="token number">37.390578</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  start  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">48</span><span class="token punctuation">:</span><span class="token number">38.389937</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job2        <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">48</span><span class="token punctuation">:</span><span class="token number">38.390813</span>
I&#39;m working<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span> <span class="token keyword">in</span> job1  end  <span class="token number">2020</span><span class="token operator">-</span><span class="token number">04</span><span class="token operator">-</span><span class="token number">29</span> <span class="token number">17</span><span class="token punctuation">:</span><span class="token number">48</span><span class="token punctuation">:</span><span class="token number">40.390838</span>
</code></pre> 
<p>假如&#xff1a;你的运行时间很大。。。那直接将调用时间延长吧</p> 
<p><strong><font size="5">启动APScheduler进行定时任务</font></strong><br /> 一、运行计划任务的python脚本<br /> 如果我们在终端中直接执行的话&#xff0c;关闭终端窗口&#xff0c;Python任务就会中断&#xff0c;Python进程会被杀死,程序将停止运行。可以使用如下命令运行python脚本&#xff0c;</p> 
<blockquote> 
 <p>python apschedulerscript.py &amp;</p> 
</blockquote> 
<p>这样执行后及时关闭终端窗口&#xff0c;程序依旧运行。<br /> 二、停止计划任务的Python脚本<br /> 如何停止呢&#xff0c;可使用如下方法&#xff1a;<br /> 其实在执行命令&#xff1a;python apschedulerscript.py &amp;之后会在控制台输出改进程id<br /> 例如&#xff1a;</p> 
<blockquote> 
 <p>[1] 3057</p> 
</blockquote> 
<p>直接只用kill命令结束即可</p> 
<blockquote> 
 <p>kill 3057</p> 
</blockquote> 
<p>如果运行后忘记进程ID&#xff0c;则可遵循下面的方法进行停止</p> 
<blockquote> 
 <p>ps -e | grep python</p> 
</blockquote> 
<p>这样将会在终端列出python相关的进程。</p> 
<blockquote> 
 <p>916 ? 00:04:05 python<br /> 3057 pts/0 00:00:00 python</p> 
</blockquote> 
<p><img src="https://img-blog.csdnimg.cn/20200511134211703.png?x-oss-process&#61;image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzgzNTU0Mg&#61;&#61;,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" /><br /> 使用文件名查找<br /> tasklist | findstr python</p> 
<hr /> 
<p><strong><font size="5">可以参考这个文章&#xff1a;</font></strong></p> 
<p>1、<a href="https://mp.weixin.qq.com/s/TTUFQRQ_DiKktJ5-J8O8Pg">https://mp.weixin.qq.com/s/TTUFQRQ_DiKktJ5-J8O8Pg</a><br /> 2、<a href="https://blog.csdn.net/wuyongpeng0912/article/details/88895659">https://blog.csdn.net/wuyongpeng0912/article/details/88895659<br /> </a></p> 
<hr /> 
<p><strong>关于APScheduler中两种调度器的区别及使用过程中要注意的问题</strong></p> 
<p><a href="https://blog.csdn.net/ybdesire/article/details/82228840">https://blog.csdn.net/ybdesire/article/details/82228840</a></p> 
<hr /> 
<p><strong>关于启动任务</strong></p> 
<p><a href="https://www.cnblogs.com/jinxiao-pu/p/9131057.html">https://www.cnblogs.com/jinxiao-pu/p/9131057.html</a></p> 
<hr /> 
<p><strong>apscheduler官网</strong></p> 
<p><a href="https://apscheduler.readthedocs.io/en/stable/">https://apscheduler.readthedocs.io/en/stable/</a></p> 
<hr /> 
<p><strong><font size="5">备注&#xff1a;</font></strong><br /> 1、当我们使用BcakgroundScheduler()的时候&#xff0c;线程模式&#xff0c;注意while(true)</p> 
<blockquote> 
 <p>使用while(true)的作用&#xff1a;<br /> run方法中的代码就是线程要运行的代码&#xff0c;运行完毕以后&#xff0c;就不会再次运行&#xff0c;其方法本身并不是无限循环的。而while(true)是为了让run方法中的代码不断重复的运行&#xff0c;也就是让线程不停的运行&#xff0c;便于查看效果。如果去掉&#xff0c;run运行结束&#xff0c;线程也就结束了。<br /> 当然&#xff0c;while(true)并不是run()方法必须的&#xff0c;如果线程的run()部分只需要执行一次&#xff0c;则不需要嵌套while(true)循环。</p> 
</blockquote>
                </div>
                <link href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/markdown_views-d7a94ec6ab.css" rel="stylesheet">
                <link href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/style-ba784fbaf8.css" rel="stylesheet">
        </div>
    </article>
</div>
<script>
    // 敏感词替换
    // replaceArticleContentWords(blogSensitiveWords,'sensitiveWords')
    // 高亮词
    // replaceArticleContentWords(blogHotWords,'hotWords')
    // 公共方法
    function replaceArticleContentWords(words,type){
      if(words){   
        var getContentViews = document.getElementById("content_views");
        var getContentTitle = document.getElementById("articleContentId");
        var contentViewsInnerHTML = getContentViews.innerHTML;
        var contentTitleInnerHTML = getContentTitle.innerHTML;
        var keyWordsJsonArr = [];
        var keyWordsArr = words.split(',');
        function repeatTimes(str, num){
            return num > 1 ? str += repeatTimes(str, --num): str;
        }
        for(var i = 0; i < keyWordsArr.length; i++){
            var keyWordsJson = {} ;
            keyWordsJson.key = keyWordsArr[i];
            if(type == 'hotWords'){
              keyWordsJson.value = '<span class="hot-words-highlight">'+keyWordsArr[i]+'</span>'
            }else if(type == 'sensitiveWords'){
              keyWordsJson.value = repeatTimes("*",keyWordsArr[i].length);
            }else {
              keyWordsJson.value = keyWordsArr[i]
            }
            keyWordsJsonArr.push(keyWordsJson);
        }
        var reg;
        for(var i = 0; i < keyWordsJsonArr.length; i++){
            var item = keyWordsJsonArr[i]; 
            if(type == 'hotWords'){
              reg = new RegExp(item.key,"ig");
            }
            if(type == 'sensitiveWords'){
              reg = new RegExp(item.key+"(?!([^<]*>)|([^<]*<\/a>))","ig");  
            }
            contentViewsInnerHTML = contentViewsInnerHTML.replace(reg,item.value);
            contentTitleInnerHTML = contentTitleInnerHTML.replace(reg,item.value);
        }
        getContentViews.innerHTML=contentViewsInnerHTML;
        getContentTitle.innerHTML=contentTitleInnerHTML;
      }
    }
</script>
<div class="more-toolbox" id="toolBarBox">
    <span id="fixedBar"></span>
    <div class="left-toolbox">
        <ul class="toolbox-list">
            <li class="tool-item tool-item-size tool-active is-like" id="is-like"><a>
            <img style="display:none;" id="is-like-imgactive-animation-like" class="animation-dom active-animation" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarThumbUpactive.png" alt="">
            <img class="isactive" style="display:none" id="is-like-imgactive" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarThumbUpactive.png" alt="">
            <img class="isdefault" style="display:block" id="is-like-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarThumbUp.png" alt="">   
            <span class="name" id="is-like-span">点赞</span>
            <span id="spanCount" class="count">
            </span>
            </a></li>
            <li class="tool-item tool-item-size tool-active tool-item-comment">
                <a href="#commentBox">
                    <img class="isdefault" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarComment.png" alt="">
                    <img class="isactive" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarCommentactive.png" style="display:none;" alt="">
                    <span class="name">评论</span>
                    <span class="count">
                    </span>
                </a>
            </li>
            <li class="tool-item tool-item-size tool-active tool-QRcode" id="tool-share">
                <a href="javascript:;" data-report-click='{"mod":"1582594662_002","spm":"1001.2101.3001.4129","ab":"new"}'>
                    <img class="isdefault" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarShare.png" alt="">
                    <img class="isactive" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarShareactive.png" style="display:none;" alt="">
                    <span class="name">分享</span>
                </a>
                <div class="QRcode" id="tool-QRcode" style="left:-92%;">
                    <span id="QRcode-close">x</span>
                    <p class="title">
                    海报分享
                    </p>
                    <div id='shareCode'></div>
                    <p>
                    扫一扫，分享海报
                    </p>
                </div>
            </li>
            <li class="tool-item tool-item-size tool-active is-collection ">
                <a href="javascript:;" data-report-click='{"mod":"popu_824","spm":"1001.2101.3001.4130","ab":"new"}'>
                    <img style="display:none" id="is-collection-img-collection" class="animation-dom active-animation" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarCollectionActive.png" alt="">
                    <img class="isdefault" id="is-collection-img" style="display:block" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarCollect.png" alt="">
                    <img class="isactive" id="is-collection-imgactive" style="display:none" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarCollectionActive.png" alt="">
                    <span class="name" id="is-collection">收藏</span>
                    <span class="count get-collection" id="get-collection">
                        3
                    </span>
                </a>
            </li>
            <li class="tool-item tool-item-size tool-active tool-reward">
                <a  id="toolreward" data-report-click='{"mod":"popu_830","spm":"1001.2101.3001.4237","dest":"","ab":"new"}'>
                    <img class="isdefault" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarReward.png" alt="">
                    <img class="isactive" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarRewardactive.png" style="display:none;" alt="">
                    <span class="name">打赏</span>
                </a>
<div id="reward" class="reward-box">
	<p class="rewad-title">打赏<span class="reward-close"><svg t="1567152543821" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10924" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="12"><defs><style type="text/css"></style></defs><path d="M512 438.378667L806.506667 143.893333a52.032 52.032 0 1 1 73.6 73.621334L585.621333 512l294.485334 294.485333a52.074667 52.074667 0 0 1-73.6 73.642667L512 585.621333 217.514667 880.128a52.053333 52.053333 0 1 1-73.621334-73.642667L438.378667 512 143.893333 217.514667a52.053333 52.053333 0 1 1 73.621334-73.621334L512 438.378667z" fill="" p-id="10925"></path></svg></span></p>
	<dl>
		<dd>
		<a href="https://blog.csdn.net/weixin_43835542" data-report-click='{"mod":"popu_379","dest":"https://blog.csdn.net/weixin_43835542","ab":"new"}'>
			<img src="https://profile.csdnimg.cn/8/A/A/3_weixin_43835542" class="avatar_pic">
		</a>
		</dd>
		<dt>
			<p class="blog-name">YUAYU-</p>
			<p class="blog-discript">你的鼓励将是我创作的最大动力</p>
		</dt>
	</dl>
	<div class="change-bt-box">
		<span class="reward-bt reward-bt-coin">C币</span>
		<span class="reward-bt-space"></span>
		<span class="reward-bt reward-bt-money reward-bt-active">余额</span>
	</div>
	<div class="money-box">
			<span class="choose_money choosed" data-id="2">2C币</span>
			<span class="choose_money " data-id="4">4C币</span>
			<span class="choose_money " data-id="6">6C币</span>
			<span class="choose_money " data-id="10">10C币</span>
			<span class="choose_money " data-id="20">20C币</span>
			<span class="choose_money " data-id="50">50C币</span>
	</div>
	<div class="sure-box">
		<p class="is-have-money"><a class="reward-sure">确定</a></p>
	</div>
</div>
            </li>
            <li class="tool-item tool-item-size tool-active tool-more">
              <a class="article-report">
                <img class="isdefault" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarReport.png" alt="">
                <img class="isactive" src="https://csdnimg.cn/release/blogv2/dist/pc/img/tobarReportactive.png" style="display:none;" alt="">
                <span class="name">举报</span>
              </a>
            </li>
            <li class="tool-item">
                    <a class="tool-attend tool-bt-button tool-bt-attend" href="javascript:;" data-report-view='{"mod":"1592215036_002","spm":"1001.2101.3001.4232","extend1":"关注"}'>关注</a>
                <a class="tool-item-follow active-animation" style="display:none;">关注</a>
            </li>
            <li class="tool-item">
                    <p class="company active" id="health-companies" href="javascript:;" >一键三连</p>
                <span class="triplet-prompt">点赞Mark关注该博主, 随时了解TA的最新博文<img class="close-prompt" src="https://csdnimg.cn/release/blogv2/dist/pc/img/closePrompt.png"></span>
            </li>
        </ul>
        <div style="display:flex">
         </div>
         <div class="hot-word-tip-box">
          <span class="hot-word-text">已标记关键词</span>
          <span class="hot-word-count"></span> 
          <span class="hot-word-bar"></span>
          <span class="hot-word-clear">清除标记</span>
        </div>
    </div>  
</div>
<script type=text/javascript crossorigin src="https://csdnimg.cn/release/phoenix/production/qrcode-7c90a92189.min.js"></script>
<script src="//g.csdnimg.cn/??sharewx/1.2.1/sharewx.js" type="text/javascript"></script>
<script type="text/javascript" crossorigin src="https://g.csdnimg.cn/collection-box/2.0.3/collection-box.js"></script>
                <div class="first-recommend-box recommend-box">
<div class="recommend-item-box type_other clearfix" data-url="https://edu.csdn.net/topic/python115"  data-report-view='{"ab":"new","mod":"popu_871","extra":"{\"utm_medium\":\"distribute.pc_relevant_t0.478259\"}","index":"1","strategy":"32_478259_RCMD","dest":"https://edu.csdn.net/topic/python115"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://edu.csdn.net/topic/python115" class="tit ellipsis-online ellipsis-online-1" target="_blank"  data-report-click='{"ab":"new","mod":"popu_871","extra":"{\"utm_medium\":\"distribute.pc_relevant_t0.478259\"}","index":"1","strategy":"32_478259_RCMD","dest":"https://edu.csdn.net/topic/python115"}'  data-report-query='utm_medium=distribute.pc_relevant_t0.478259&depth_1-utm_source=distribute.pc_relevant_t0.478259'>
					面试官吐槽：&ldquo;<em>Python</em>程序员就是不行！&rdquo;网友：我能把你面哭了！
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info display-flex">
					<span class="info-block">12-30</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://edu.csdn.net/topic/python115" target="_blank"  data-report-click='{"ab":"new","mod":"popu_871","extra":"{\"utm_medium\":\"distribute.pc_relevant_t0.478259\"}","index":"1","strategy":"32_478259_RCMD","dest":"https://edu.csdn.net/topic/python115"}'  data-report-query='utm_medium=distribute.pc_relevant_t0.478259&depth_1-utm_source=distribute.pc_relevant_t0.478259'>
				<div class="desc ellipsis-online ellipsis-online-1">最近几年，<em>Python</em>莫名火了起来，很多公司都想赶上这&ldquo;莫名&rdquo;的热潮，招聘到大牛人才。但是，最近一个HR在社交网站的吐槽又火了：</div>
			</a>
		</div>
	</div>
</div>
                </div>
            <div class="second-recommend-box recommend-box">
<div class="recommend-item-box type_download clearfix" data-url="https://download.csdn.net/download/u014220146/10576941"  data-report-view='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-download-BlogCommendFromMachineLearnPai2-1.control\"}","index":"1","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://download.csdn.net/download/u014220146/10576941"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://download.csdn.net/download/u014220146/10576941" class="tit ellipsis-online ellipsis-online-1" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-download-BlogCommendFromMachineLearnPai2-1.control\"}","index":"1","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://download.csdn.net/download/u014220146/10576941"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-download-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-download-BlogCommendFromMachineLearnPai2-1.control'>
					<em>python</em>每天<em>定时</em>执行一次<em>任务</em>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info display-flex">
					<span class="info-block">08-01</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://download.csdn.net/download/u014220146/10576941" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-download-BlogCommendFromMachineLearnPai2-1.control\"}","index":"1","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://download.csdn.net/download/u014220146/10576941"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-download-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-download-BlogCommendFromMachineLearnPai2-1.control'>
				<div class="desc ellipsis-online ellipsis-online-1">使用<em>Python</em>的timer来完成每天执行一次的<em>定时</em><em>任务</em>，环境是windows，<em>python</em>3.4</div>
			</a>
		</div>
	</div>
</div>
            </div>
<a id="commentBox" name="commentBox"></a>
<div class="comment-box">
	<div class="comment-edit-box d-flex">
		<a id="commentsedit"></a>
		<div class="user-img">
			<a href="javascript:void(0);" >
				<img class="show_loginbox" src="https://g.csdnimg.cn/static/user-img/anonymous-User-img.png">
			</a>
		</div>
		<form id="commentform">
			<img class="comment-sofa-flag" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentFlag@2x.png">
      <textarea class="comment-content" name="comment_content" id="comment_content" placeholder="优质评论可以帮助作者获得更高权重" maxlength="1000"></textarea>
			<div class="comment-emoticon"><img class="comment-emoticon-img" data-url="https://csdnimg.cn/release/blogv2/dist/pc/img/" src="https://csdnimg.cn/release/blogv2/dist/pc/img/emoticon.png" alt="表情包"></div> 
      <span class="comment-emoticon-tip">插入表情</span>
      <div class="comment-emoticon-box">
        <div class="comment-emoticon-img-box">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:001.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/001.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:002.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/002.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:003.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/003.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:004.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/004.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:005.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/005.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:006.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/006.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:007.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/007.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:008.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/008.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:009.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/009.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:010.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/010.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:011.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/011.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:012.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/012.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:013.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/013.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:014.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/014.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:015.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/015.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:016.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/016.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:017.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/017.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:018.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/018.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:019.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/019.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:020.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/020.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:021.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/021.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:022.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/022.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:023.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/023.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:024.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/024.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:025.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/025.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:026.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/026.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:027.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/027.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:028.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/028.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:029.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/029.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:030.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/030.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:031.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/031.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:032.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/032.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:033.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/033.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:034.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/034.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:035.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/035.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:036.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/036.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:037.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/037.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:038.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/038.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:039.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/039.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:040.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/040.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:041.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/041.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:042.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/042.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:043.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/043.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:044.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/044.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:045.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/045.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:046.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/046.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:047.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/047.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:048.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/048.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:049.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/049.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:050.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/050.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:051.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/051.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:052.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/052.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:053.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/053.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:054.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/054.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:055.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/055.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:056.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/056.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:057.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/057.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:058.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/058.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:059.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/059.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:060.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/060.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:061.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/061.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:062.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/062.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:063.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/063.png">
            <img class="emoticon-monkey-img" data-emoticon="[face]monkey2:064.png[/face]" src="https://g.csdnimg.cn/static/face/monkey2/064.png">
        </div>
      </div>
      <div class="opt-box">
				<div id="ubbtools" class="add_code">
					<a href="#insertcode" code="code" target="_self"><i class="icon iconfont icon-daima"></i></a>
				</div>
				<input type="hidden" id="comment_replyId" name="comment_replyId">
				<input type="hidden" id="article_id" name="article_id" value="105773885">
				<input type="hidden" id="comment_userId" name="comment_userId" value="">
				<input type="hidden" id="commentId" name="commentId" value="">
				<div class="dropdown" id="myDrap">
					<a class="dropdown-face d-flex align-items-center" data-toggle="dropdown" role="button"
						aria-haspopup="true" aria-expanded="false">
						<div class="txt-selected text-truncate">添加代码片</div>
						<svg class="icon d-block" width="200px" height="100.00px" viewBox="0 0 2048 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path  d="M597.33333292 298.666667h853.333334L1023.99999992 725.333333 597.33333292 298.666667z"  /></svg>
					</a>
					<ul class="dropdown-menu" id="commentCode" aria-labelledby="drop4">
						<li><a data-code="html">HTML/XML</a></li>
						<li><a data-code="objc">objective-c</a></li>
						<li><a data-code="ruby">Ruby</a></li>
						<li><a data-code="php">PHP</a></li>
						<li><a data-code="csharp">C</a></li>
						<li><a data-code="cpp">C++</a></li>
						<li><a data-code="javascript">JavaScript</a></li>
						<li><a data-code="python">Python</a></li>
						<li><a data-code="java">Java</a></li>
						<li><a data-code="css">CSS</a></li>
						<li><a data-code="sql">SQL</a></li>
						<li><a data-code="plain">其它</a></li>
					</ul>
				</div>
				<div class="right-box" id="rightBox" data-type="2">
							<span id="tip_comment" class="tip">还能输入<em>1000</em>个字符</span>
							<a data-report-view='{"spm":"3001.4374"}' data-report-click='{"spm":"3001.4374"}' class="btn btn-sm btn-quick-comment" id="quickComment">“速评一下”</a>
							<a data-report-click='{"mod":"1582594662_003","spm":"1001.2101.3001.4227","ab":"new"}'><input type="submit"
									class="btn btn-sm btn-comment" value="发表评论"></a>
				</div>
			</div>
		</form>
		<input type="button" class="bt-comment-show" value="评论">
	</div>
	<div class="comment-list-container">
		<a id="comments"></a>
		<div class="comment-list-box">
		</div>
		<div id="commentPage" class="pagination-box d-none"></div>
		<div class="opt-box text-center">
			<div class="btn btn-sm btn-link-blue" id="btnMoreComment"></div>
		</div>
	</div>
</div>            <div class="recommend-box insert-baidu-box">

<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/weixin_39817215/article/details/110485136"  data-report-view='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control\"}","index":"2","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://blog.csdn.net/weixin_39817215/article/details/110485136"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/weixin_39817215/article/details/110485136" class="tit ellipsis-online ellipsis-online-1" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control\"}","index":"2","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://blog.csdn.net/weixin_39817215/article/details/110485136"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control'>
					<em>python</em><em>定时</em>_<em>python</em><em>定时</em><em>任务</em>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/weixin_39817215" target="_blank"><span class="blog-title">weixin_39817215的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">12-02</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					7
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/weixin_39817215/article/details/110485136" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control\"}","index":"2","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://blog.csdn.net/weixin_39817215/article/details/110485136"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control'>
				<div class="desc ellipsis-online ellipsis-online-1">正文共：4164 字预计阅读时间： 11 分钟一个简单的需求，即<em>定时</em>启动<em>python</em>脚本，这种需求很常见，比如<em>定时</em>启动一段程序对服务器状态进行收集，写到文件中，方便运维后期审计，查看服务器占用高峰时间段，从而判断出公司产品在该时间段较多人使用，或<em>定时</em>清除其他程序的日志，释放线上服务器的空间，这块常见的架构是有个转存程序，将日志通过nginx文件服务挂起，然后该程序请求这种文件，将其存储在数据服务器...</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://y1ran.blog.csdn.net/article/details/80855086"  data-report-view='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-3.control\"}","index":"3","strategy":"OPENSEARCH","dest":"https://y1ran.blog.csdn.net/article/details/80855086"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://y1ran.blog.csdn.net/article/details/80855086" class="tit ellipsis-online ellipsis-online-1" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-3.control\"}","index":"3","strategy":"OPENSEARCH","dest":"https://y1ran.blog.csdn.net/article/details/80855086"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-3.control'>
					<em>Python</em>2和<em>Python</em>3的区别，以及为什么选<em>Python</em>3的原因
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/qq_39521554" target="_blank"><span class="blog-title">Machine Learning with Turing&#39;s Cat</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">06-29</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					13万+
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://y1ran.blog.csdn.net/article/details/80855086" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-3.control\"}","index":"3","strategy":"OPENSEARCH","dest":"https://y1ran.blog.csdn.net/article/details/80855086"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-3.control'>
				<div class="desc ellipsis-online ellipsis-online-1">我的机器学习教程「美团」算法工程师带你入门机器学习 已经开始更新了，欢迎大家订阅~

任何关于算法、编程、AI行业知识或博客内容的问题，可以随时扫码关注公众号「图灵的猫」，加入&rdquo;学习小组&ldquo;，沙雕博主在线答疑~此外，公众号内还有更多AI、算法、编程和大数据知识分享，以及免费的SSR节点和学习资料。其他平台（知乎/B站）也是同名「图灵的猫」，不要迷路哦~















学...</div>
			</a>
		</div>
	</div>
</div>
		<div id="recommend-item-box-tow" class="recommend-item-box type_blog clearfix">
			<div id="kp_box_59" data-pid="59"><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:block"
     data-ad-format="fluid"
     data-ad-layout-key="-hk-b+1w-4q+5k"
     data-ad-client="ca-pub-1076724771190722"
     data-ad-slot="3967051353"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=59&a=944&c=0&k=&spm=1001.2101.3001.5003&d=1&t=3&u=9efb877aa15e4b9c9e8b493d026a0027" style="display: block;width: 0px;height: 0px;"></div>
		</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/lmseo5hy/article/details/81704426"  data-report-view='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-4.control\"}","index":"4","strategy":"OPENSEARCH","dest":"https://blog.csdn.net/lmseo5hy/article/details/81704426"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/lmseo5hy/article/details/81704426" class="tit ellipsis-online ellipsis-online-1" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-4.control\"}","index":"4","strategy":"OPENSEARCH","dest":"https://blog.csdn.net/lmseo5hy/article/details/81704426"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-4.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-4.control'>
					<em>Python</em>定义全局变量的用法
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/lmseo5hy" target="_blank"><span class="blog-title">lmseo5hy的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">08-15</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					16万+
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/lmseo5hy/article/details/81704426" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-4.control\"}","index":"4","strategy":"OPENSEARCH","dest":"https://blog.csdn.net/lmseo5hy/article/details/81704426"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-4.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-4.control'>
				<div class="desc ellipsis-online ellipsis-online-1">全局变量是编程语言中常见的一种变量，通过全局定义，可以是某对象函数创建，也可以是本程序任何位置创建，能够被本程序中的所有对象或函数进行引用，全局变量的定义有利于程序的变量共享，简化了添加和修改的程序。

和C语言一样，<em>Python</em>也具有全局变量，其定义全局变量的用法有两种：

1. 声明法

该方法是直接在当前模块中进行全局变量定义声明，使用global的声明方式，再进行引用！


OLD_URL...</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/xc_zhou/article/details/80952147"  data-report-view='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.control\"}","index":"5","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://blog.csdn.net/xc_zhou/article/details/80952147"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/xc_zhou/article/details/80952147" class="tit ellipsis-online ellipsis-online-1" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.control\"}","index":"5","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://blog.csdn.net/xc_zhou/article/details/80952147"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.control'>
					[283]<em>python</em><em>定时</em><em>任务</em>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/xc_zhou" target="_blank"><span class="blog-title">周小董</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">07-09</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					2万+
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/xc_zhou/article/details/80952147" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.control\"}","index":"5","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://blog.csdn.net/xc_zhou/article/details/80952147"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.control'>
				<div class="desc ellipsis-online ellipsis-online-1">在项目中，我们可能遇到有<em>定时</em><em>任务</em>的需求。其一：<em>定时</em>执行<em>任务</em>。例如每天早上 8 点<em>定时</em>推送早报。其二：每隔一个时间段就执行<em>任务</em>。比如：每隔一个小时提醒自己起来走动走动，避免长时间坐着。今天，我跟大家分享下 <em>Python</em> <em>定时</em><em>任务</em>的实现方法。


1、第一种办法是最简单又最暴力。那就是在一个死循环中，使用线程睡眠函数 sleep()。



from datetime import dateti...</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/qq_28893679/article/details/80590262"  data-report-view='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.control\"}","index":"6","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://blog.csdn.net/qq_28893679/article/details/80590262"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/qq_28893679/article/details/80590262" class="tit ellipsis-online ellipsis-online-1" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.control\"}","index":"6","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://blog.csdn.net/qq_28893679/article/details/80590262"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.control'>
					<em>python</em>如何实现线程<em>定时</em><em>任务</em>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/qq_28893679" target="_blank"><span class="blog-title">吴永胡的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">06-06</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					4726
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/qq_28893679/article/details/80590262" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.control\"}","index":"6","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://blog.csdn.net/qq_28893679/article/details/80590262"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.control'>
				<div class="desc ellipsis-online ellipsis-online-1">#!/usr/bin/env <em>python</em>
# -*- coding:utf-8 -*-
import threading


def time_thread():
    print &quot;执行了业务逻辑&quot;
    t = threading.Timer(1, time_thread)
    t.start()


time_thread()


执行结果如下：每隔1秒钟进行打印 
...</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/whiterbear/article/details/50232637"  data-report-view='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.control\"}","index":"7","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://blog.csdn.net/whiterbear/article/details/50232637"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/whiterbear/article/details/50232637" class="tit ellipsis-online ellipsis-online-1" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.control\"}","index":"7","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://blog.csdn.net/whiterbear/article/details/50232637"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.control'>
					<em>Python</em><em>定时</em><em>任务</em>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/whiterbear" target="_blank"><span class="blog-title">whiterbear的专栏</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">12-09</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					3万+
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/whiterbear/article/details/50232637" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.control\"}","index":"7","strategy":"BlogCommendFromMachineLearnPai2","dest":"https://blog.csdn.net/whiterbear/article/details/50232637"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.control'>
				<div class="desc ellipsis-online ellipsis-online-1"><em>Python</em>下实现<em>定时</em><em>任务</em>的方式有很多种方式。


循环sleep：
这是一种最简单的方式，在循环里放入要执行的<em>任务</em>，然后sleep一段时间再执行。缺点是，不容易控制，而且sleep是个阻塞函数。

def timer(n):
    &#39;&#39;&#39;
    每n秒执行一次
    &#39;&#39;&#39;
    while True:  
        print time.strftime(&#39;%Y-%m</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://dream.blog.csdn.net/article/details/86106916"  data-report-view='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-8.control\"}","index":"8","strategy":"OPENSEARCH","dest":"https://dream.blog.csdn.net/article/details/86106916"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://dream.blog.csdn.net/article/details/86106916" class="tit ellipsis-online ellipsis-online-1" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-8.control\"}","index":"8","strategy":"OPENSEARCH","dest":"https://dream.blog.csdn.net/article/details/86106916"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-8.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-8.control'>
					<em>Python</em>爬虫100例教程导航帖（已完结）
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/hihell" target="_blank"><span class="blog-title">Python爬虫百例、Python面试百题、Pandas趣味深入学习</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">08-14</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					3万+
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://dream.blog.csdn.net/article/details/86106916" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-8.control\"}","index":"8","strategy":"OPENSEARCH","dest":"https://dream.blog.csdn.net/article/details/86106916"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-8.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-8.control'>
				<div class="desc ellipsis-online ellipsis-online-1"><em>Python</em>爬虫入门教程导航，目标100篇。

本系列博客争取把爬虫入门阶段的所有内容都包含住，需要你有较好的<em>Python</em>基础知识，当然你完全零基础也可以观看本系列博客。

<em>Python</em>爬虫入门教程，加油！

</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/qq_25814003/article/details/80609729"  data-report-view='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-9.control\"}","index":"9","strategy":"OPENSEARCH","dest":"https://blog.csdn.net/qq_25814003/article/details/80609729"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/qq_25814003/article/details/80609729" class="tit ellipsis-online ellipsis-online-1" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-9.control\"}","index":"9","strategy":"OPENSEARCH","dest":"https://blog.csdn.net/qq_25814003/article/details/80609729"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-9.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-9.control'>
					<em>python</em>安装教程
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/qq_25814003" target="_blank"><span class="blog-title">愤怒的懒洋洋的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">06-07</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					23万+
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/qq_25814003/article/details/80609729" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-9.control\"}","index":"9","strategy":"OPENSEARCH","dest":"https://blog.csdn.net/qq_25814003/article/details/80609729"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-9.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-9.control'>
				<div class="desc ellipsis-online ellipsis-online-1"><em>Python</em>安装教程一、博主自言随着人工智能的快速发展，<em>python</em>语言越来越受大家的欢迎，博主前段时间先自学了一次，这次再次巩固，顺便分享给大家我遇到的坑。帮助大家学习的时候少走弯路。希望会对大家有所帮助，欢迎留言提问。PS文章底部是我的<em>python</em>3.7包下载链接，大家可以自行下载。&nbsp;二、安装环境&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本套教程的安装环境是：win7 或者win10系统&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <em>Python</em>版本：p...</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://shazhenyu.blog.csdn.net/article/details/88681429"  data-report-view='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-10.control\"}","index":"10","strategy":"OPENSEARCH","dest":"https://shazhenyu.blog.csdn.net/article/details/88681429"}'>
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://shazhenyu.blog.csdn.net/article/details/88681429" class="tit ellipsis-online ellipsis-online-1" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-10.control\"}","index":"10","strategy":"OPENSEARCH","dest":"https://shazhenyu.blog.csdn.net/article/details/88681429"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-10.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-10.control'>
					<em>python</em>开发大全、系列文章、精品教程（转）
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/u014597198" target="_blank"><span class="blog-title">沙师弟专栏</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">03-20</span>
					<span class="info-block read"><img class="read-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					5669
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://shazhenyu.blog.csdn.net/article/details/88681429" target="_blank"  data-report-click='{"ab":"new","mod":"popu_387","extra":"{\"utm_medium\":\"distribute.pc_relevant.none-task-blog-OPENSEARCH-10.control\"}","index":"10","strategy":"OPENSEARCH","dest":"https://shazhenyu.blog.csdn.net/article/details/88681429"}'  data-report-query='utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-10.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-10.control'>
				<div class="desc ellipsis-online ellipsis-online-1">文章目录1、简介2、分享3、<em>python</em>基础教程4、<em>python</em>应用教程5、<em>python</em>后台架构Django教程6、<em>python</em>自动化测试教程7、<em>python</em>网络爬虫教程8、<em>python</em>数据分析存储教程9、<em>python</em>可视化教程10、<em>python</em>爬虫助手11、<em>python</em>爬虫案例12、<em>python</em>机器学习算法案例13、机器学习总结14、<em>python</em>机器学习库教程15、<em>python</em>自然语言处理库教程...</div>
			</a>
		</div>
	</div>
</div>
            </div>
            <div class="template-box">
                <span>©️2020 CSDN</span>
                <span>皮肤主题: 深蓝海洋</span>
                <span> 设计师:CSDN官方博客</span>
                <span>
                    <a href="https://blog.csdn.net/" class="back-home c-blue c-blue-hover c-blue-focus">返回首页</a>
                </span>
            </div>
<div class="blog-footer-bottom" style="margin-top:10px;"></div>
<script src="https://g.csdnimg.cn/common/csdn-footer/csdn-footer.js" data-isfootertrack="false" type="text/javascript"></script>
<script type="text/javascript">
    window.csdn.csdnFooter.options = {
        el: '.blog-footer-bottom',
        type: 2
    }
</script>        </main>
<aside class="blog_container_aside">
    <div id="asideProfile" class="aside-box">
    <div class="profile-intro d-flex">
        <div class="avatar-box d-flex justify-content-center flex-column">
            <a href="https://blog.csdn.net/weixin_43835542" data-report-click='{"mod":"popu_379","spm":"1001.2101.3001.4121","dest":"https://blog.csdn.net/weixin_43835542","ab":"new"}'>
                <img src="https://profile.csdnimg.cn/8/A/A/3_weixin_43835542" class="avatar_pic">
            </a>
        </div>
        <div class="user-info d-flex flex-column profile-intro-name-box">
            <div class="profile-intro-name-boxTop">
                <a href="https://blog.csdn.net/weixin_43835542" class="" id="uid" title="YUAYU-" data-report-click='{"mod":"popu_379","spm":"1001.2101.3001.4122","dest":"https://blog.csdn.net/weixin_43835542","ab":"new"}'>
                    <span class="name " username="weixin_43835542">YUAYU-</span>
                </a>
                <span>
                </span>
                <span class="flag expert-blog">
                <span class="bubble">CSDN认证博客专家</span>
                </span>
                <span class="flag company-blog">
                <span class="bubble">CSDN认证企业博客</span>
                </span>
            </div>
            <div class="profile-intro-name-boxFooter">
                <span class="personal-home-page personal-home-years">码龄2年</span>
                    <span class="personal-home-page">
                    <a class="personal-home-certification" href="https://blog.csdn.net/weixin_43835542?utm_source=14998968" target="_blank" title="暂无认证">
                    <img src="https://csdnimg.cn/identity/nocErtification.png" alt="">
                    暂无认证
                    </a>
                    </span>
            </div>
        </div>
    </div>
    <div class="data-info d-flex item-tiling">
        <dl class="text-center" title="74">
            <a href="https://blog.csdn.net/weixin_43835542" data-report-click='{"mod":"1598321000_001","spm":"1001.2101.3001.4310"}' data-report-query="t=1">  
                <dt><span class="count">74</span></dt>
                <dd class="font">原创</dd>
            </a>
        </dl>
        <dl class="text-center" data-report-click='{"mod":"1598321000_002","spm":"1001.2101.3001.4311"}' title="19618">
            <a href="https://blog.csdn.net/rank/writing_rank" target="_blank">
                <dt><span class="count">1万+</span></dt>
                <dd class="font">周排名</dd>
            </a>
        </dl>
        <dl class="text-center" title="113044">
            <a href="https://blog.csdn.net/rank/writing_rank_total" data-report-click='{"mod":"1598321000_003","spm":"1001.2101.3001.4312"}' target="_blank">
                <dt><span class="count">11万+</span></dt>
                <dd class="font">总排名</dd>
            </a>
        </dl>
        <dl class="text-center" style="min-width:58px" title="23800">  
            <dt><span class="count">2万+</span></dt>
            <dd>访问</dd>
        </dl>
        <dl class="text-center" title="4级,点击查看等级说明">
            <dt><a href="https://blog.csdn.net/home/help.html#level" target="_blank">
                <img class="level" src="https://csdnimg.cn/identity/blog4.png">
            </a>
            </dt>
            <dd>等级</dd>
        </dl>
    </div>
    <div class="item-rank"></div>
    <div class="data-info d-flex item-tiling">
        <dl class="text-center" title="980">
            <dt><span class="count">980</span></dt>
            <dd>积分</dd>
        </dl>
         <dl class="text-center" id="fanBox" title="10">
            <dt><span class="count" id="fan">10</span></dt>
            <dd>粉丝</dd>
        </dl>
        <dl class="text-center" title="5">
            <dt><span class="count">5</span></dt>
            <dd>获赞</dd>
        </dl>
        <dl class="text-center" title="12">
            <dt><span class="count">12</span></dt>
            <dd>评论</dd>
        </dl>
        <dl class="text-center" title="40">
            <dt><span class="count">40</span></dt>
            <dd>收藏</dd>
        </dl>
    </div>
    <div class="aside-box-footer" data-report-view='{"spm":"3001.4296"}'>
        <div class="badge-box d-flex">
            <div class="badge d-flex">
                <div class="icon-badge" title="GitHub">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/github@240.png" alt="GitHub">
                    </div>
                </div>
                <div class="icon-badge" title="脉脉勋章">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/maimai@240.png" alt="脉脉勋章">
                    </div>
                </div>
                <div class="icon-badge" title="签到王者">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/qiandao150@240.png" alt="签到王者">
                    </div>
                </div>
                <div class="icon-badge" title="持之以恒">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/chizhiyiheng@240.png" alt="持之以恒">
                    </div>
                </div>
                <div class="icon-badge" title="勤写标兵Lv4">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/qixiebiaobing4@240.png" alt="勤写标兵Lv4">
                    </div>
                </div>
                <div class="icon-badge" title="原力新人">
                    <div class="mouse-box">
                        <img class="medal-img" data-report-click='{"spm":"3001.4296"}' src="https://csdnimg.cn/medal/yuanli_xinren@240.png" alt="原力新人">
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="profile-intro-name-boxOpration">
        <div class="opt-letter-watch-box">
        <a class="bt-button personal-letter" href="https://im.csdn.net/chat/weixin_43835542" target="_blank" rel="noopener">私信</a>
        </div>
        <div class="opt-letter-watch-box"> 
            <a class="personal-watch bt-button" id="btnAttent" >关注</a>  
        </div>
    </div>
</div>
<div id="asideSearchArticle" class="aside-box">
	<div class="aside-content search-comter">
    <div class="aside-search aside-search-blog">         
        <input type="text" class="input-serch-blog" name="" autocomplete="off" value="" id="search-blog-words" placeholder="搜博主文章">
        <a class="btn-search-blog">
                    <img src="//csdnimg.cn/cdn/content-toolbar/csdn-sou.png?v=1587021042">
        </a>
    </div>
    </div>
</div>


<div id="asideHotArticle" class="aside-box">
	<h3 class="aside-title">热门文章</h3>
	<div class="aside-content">
		<ul class="hotArticle-list">
			<li>
				<a href="https://blog.csdn.net/weixin_43835542/article/details/104388025" target="_blank"  data-report-click='{"mod":"popu_541","spm":"1001.2101.3001.4139","dest":"https://blog.csdn.net/weixin_43835542/article/details/104388025","ab":"new"}'>
				Python字典根据值来取键
					<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					<span class="read">6114</span>
                </a>
			</li>
			<li>
				<a href="https://blog.csdn.net/weixin_43835542/article/details/107030384" target="_blank"  data-report-click='{"mod":"popu_541","spm":"1001.2101.3001.4139","dest":"https://blog.csdn.net/weixin_43835542/article/details/107030384","ab":"new"}'>
				python关于导包小记，Unable to load celery application. The module celery_app was not found.
					<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					<span class="read">2734</span>
                </a>
			</li>
			<li>
				<a href="https://blog.csdn.net/weixin_43835542/article/details/104516654" target="_blank"  data-report-click='{"mod":"popu_541","spm":"1001.2101.3001.4139","dest":"https://blog.csdn.net/weixin_43835542/article/details/104516654","ab":"new"}'>
				Python关于JWT生成token
					<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					<span class="read">907</span>
                </a>
			</li>
			<li>
				<a href="https://blog.csdn.net/weixin_43835542/article/details/104391434" target="_blank"  data-report-click='{"mod":"popu_541","spm":"1001.2101.3001.4139","dest":"https://blog.csdn.net/weixin_43835542/article/details/104391434","ab":"new"}'>
				Python关于content-type:multipart/form-data 图片上传
					<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					<span class="read">907</span>
                </a>
			</li>
			<li>
				<a href="https://blog.csdn.net/weixin_43835542/article/details/105036347" target="_blank"  data-report-click='{"mod":"popu_541","spm":"1001.2101.3001.4139","dest":"https://blog.csdn.net/weixin_43835542/article/details/105036347","ab":"new"}'>
				Python关于Django中的 Raw query must include the primary key
					<img src="https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png" alt="">
					<span class="read">848</span>
                </a>
			</li>
		</ul>
	</div>
</div>
<div id="asideCategory" class="aside-box flexible-box" style="display:block!important;">
    <h3 class="aside-title">分类专栏</h3>
    <div class="aside-content">
        <ul>
            <li class="">
                <a class="clearfix" target="_blank" href="https://blog.csdn.net/weixin_43835542/category_10326923.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/weixin_43835542/category_10326923.html","ab":"new"}'>
                    <img src="https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        <span class="text">数据库</span>
                    </span>
                    <span class="count float-right">3篇</span>
                </a>
            </li>
            <li class="">
                <a class="clearfix" target="_blank" href="https://blog.csdn.net/weixin_43835542/category_10326961.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/weixin_43835542/category_10326961.html","ab":"new"}'>
                    <img src="https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        <span class="text">笔记</span>
                    </span>
                    <span class="count float-right">49篇</span>
                </a>
            </li>
            <li class="">
                <a class="clearfix" target="_blank" href="https://blog.csdn.net/weixin_43835542/category_10326940.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/weixin_43835542/category_10326940.html","ab":"new"}'>
                    <img src="https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        <span class="text">Django</span>
                    </span>
                    <span class="count float-right">15篇</span>
                </a>
            </li>
            <li class="">
                <a class="clearfix" target="_blank" href="https://blog.csdn.net/weixin_43835542/category_10326925.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/weixin_43835542/category_10326925.html","ab":"new"}'>
                    <img src="https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        <span class="text">python进程，消息队列</span>
                    </span>
                    <span class="count float-right">1篇</span>
                </a>
            </li>
            <li class="">
                <a class="clearfix" target="_blank" href="https://blog.csdn.net/weixin_43835542/category_10379207.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/weixin_43835542/category_10379207.html","ab":"new"}'>
                    <img src="https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        <span class="text">Flask</span>
                    </span>
                    <span class="count float-right">4篇</span>
                </a>
            </li>
            <li class="">
                <a class="clearfix" target="_blank" href="https://blog.csdn.net/weixin_43835542/category_10326953.html" data-report-click='{"mod":"popu_537","spm":"1001.2101.3001.4137","strategy":"pc付费专栏左侧入口","dest":"https://blog.csdn.net/weixin_43835542/category_10326953.html","ab":"new"}'>
                    <img src="https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64" alt="" onerror="this.src='https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64'">
                    <span class="title oneline">
                        <span class="text">python Excel</span>
                    </span>
                    <span class="count float-right">1篇</span>
                </a>
            </li>
        </ul>
    </div>
    <p class="text-center">
        <a class="flexible-btn" data-fbox="aside-archive"><img class="look-more" src="https://csdnimg.cn/release/blogv2/dist/pc/img/arrowDownWhite.png" alt=""></a>
    </p>
</div>
<div id="asideNewComments" class="aside-box">
    <h3 class="aside-title">最新评论</h3>
    <div class="aside-content">
        <ul class="newcomment-list">
            <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/weixin_43835542/article/details/111377819#comments_14313712" data-report-click='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/weixin_43835542/article/details/111377819#comments_14313712","ab":"new"}' data-report-view='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/weixin_43835542/article/details/111377819#comments_14313712","ab":"new"}'>Nginx 静态文件访问</a>
                <p class="comment ellipsis">
                    <a href="https://blog.csdn.net/weixin_39032019" class="user-name" target="_blank">惊鸿只一瞥丶: </a>
                    <span class="code-comments">最近也在学这个，博文写的挺好，宝藏博主~</span>
                </p>
            </li>
            <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/weixin_43835542/article/details/110920972#comments_14252724" data-report-click='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/weixin_43835542/article/details/110920972#comments_14252724","ab":"new"}' data-report-view='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/weixin_43835542/article/details/110920972#comments_14252724","ab":"new"}'>Vim 小记</a>
                <p class="comment ellipsis">
                    <a href="https://blog.csdn.net/kimol_justdo" class="user-name" target="_blank">不正经的kimol君: </a>
                    <span class="code-comments">666，反手就是一个赞，欢迎回赞哦~</span>
                </p>
            </li>
            <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/weixin_43835542/article/details/106708798#comments_14153246" data-report-click='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/weixin_43835542/article/details/106708798#comments_14153246","ab":"new"}' data-report-view='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/weixin_43835542/article/details/106708798#comments_14153246","ab":"new"}'>Python制作动态二维码</a>
                <p class="comment ellipsis">
                    <a href="https://blog.csdn.net/qq_51997200" class="user-name" target="_blank">阿狸穆斯。: </a>
                    <span class="code-comments">嘻嘻，不好意思，一开始没看懂啥意思<img src="https://g.csdnimg.cn/static/face/monkey2/002.png" alt='表情包' >感谢😊</span>
                </p>
            </li>
            <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/weixin_43835542/article/details/106708798#comments_14141654" data-report-click='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/weixin_43835542/article/details/106708798#comments_14141654","ab":"new"}' data-report-view='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/weixin_43835542/article/details/106708798#comments_14141654","ab":"new"}'>Python制作动态二维码</a>
                <p class="comment ellipsis">
                    <a href="https://blog.csdn.net/weixin_43835542" class="user-name" target="_blank">YUAYU-: </a>
                    <span class="code-comments">我在代码的前面。。说明咋安装了。。</span>
                </p>
            </li>
            <li>
                <a class="title text-truncate" target="_blank" href="https://blog.csdn.net/weixin_43835542/article/details/106708798#comments_14133296" data-report-click='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/weixin_43835542/article/details/106708798#comments_14133296","ab":"new"}' data-report-view='{"mod":"popu_542","spm":"1001.2101.3001.4231","dest":"https://blog.csdn.net/weixin_43835542/article/details/106708798#comments_14133296","ab":"new"}'>Python制作动态二维码</a>
                <p class="comment ellipsis">
                    <a href="https://blog.csdn.net/qq_51997200" class="user-name" target="_blank">阿狸穆斯。: </a>
                    <span class="code-comments">如何安装myqr模块呢？</span>
                </p>
            </li>
        </ul>
    </div>
</div>
<div id="asideArchive" class="aside-box">
    <h3 class="aside-title">最新文章</h3>
    <div class="aside-content">
        <ul class="inf_list clearfix">
            <li class="clearfix">
            <a href="https://blog.csdn.net/weixin_43835542/article/details/111880205" target="_blank" data-report-click='{"mod":"popu_382","spm":"1001.2101.3001.4136","dest":"https://blog.csdn.net/weixin_43835542/article/details/111880205","ab":"new"}' data-report-view='{"mod":"popu_382","dest":"https://blog.csdn.net/weixin_43835542/article/details/111880205","ab":"new"}'>Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column</a>
            </li>
            <li class="clearfix">
            <a href="https://blog.csdn.net/weixin_43835542/article/details/111871616" target="_blank" data-report-click='{"mod":"popu_382","spm":"1001.2101.3001.4136","dest":"https://blog.csdn.net/weixin_43835542/article/details/111871616","ab":"new"}' data-report-view='{"mod":"popu_382","dest":"https://blog.csdn.net/weixin_43835542/article/details/111871616","ab":"new"}'>django 配置数据库连接 __init__.py</a>
            </li>
            <li class="clearfix">
            <a href="https://blog.csdn.net/weixin_43835542/article/details/111579224" target="_blank" data-report-click='{"mod":"popu_382","spm":"1001.2101.3001.4136","dest":"https://blog.csdn.net/weixin_43835542/article/details/111579224","ab":"new"}' data-report-view='{"mod":"popu_382","dest":"https://blog.csdn.net/weixin_43835542/article/details/111579224","ab":"new"}'>python GIL 小记</a>
            </li>
        </ul>
        <div class="archive-bar"></div>
        <div class="archive-box">
                <div class="archive-title">2020</div> 
                <div class="archive-content">
                    <div class="archive-item">
                        <a href="https://blog.csdn.net/weixin_43835542/article/month/2020/12" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/weixin_43835542/article/month/2020/12"}'>
                        <span class="time">12月</span>
                        <span class="count">9篇</span>
                        </a>
                    </div>
                    <div class="archive-item">
                        <a href="https://blog.csdn.net/weixin_43835542/article/month/2020/11" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/weixin_43835542/article/month/2020/11"}'>
                        <span class="time">11月</span>
                        <span class="count">6篇</span>
                        </a>
                    </div>
                    <div class="archive-item">
                        <a href="https://blog.csdn.net/weixin_43835542/article/month/2020/10" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/weixin_43835542/article/month/2020/10"}'>
                        <span class="time">10月</span>
                        <span class="count">1篇</span>
                        </a>
                    </div>
                    <div class="archive-item">
                        <a href="https://blog.csdn.net/weixin_43835542/article/month/2020/09" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/weixin_43835542/article/month/2020/09"}'>
                        <span class="time">09月</span>
                        <span class="count">14篇</span>
                        </a>
                    </div>
                    <div class="archive-item">
                        <a href="https://blog.csdn.net/weixin_43835542/article/month/2020/08" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/weixin_43835542/article/month/2020/08"}'>
                        <span class="time">08月</span>
                        <span class="count">8篇</span>
                        </a>
                    </div>
                    <div class="archive-item">
                        <a href="https://blog.csdn.net/weixin_43835542/article/month/2020/07" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/weixin_43835542/article/month/2020/07"}'>
                        <span class="time">07月</span>
                        <span class="count">8篇</span>
                        </a>
                    </div>
                    <div class="archive-item">
                        <a href="https://blog.csdn.net/weixin_43835542/article/month/2020/06" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/weixin_43835542/article/month/2020/06"}'>
                        <span class="time">06月</span>
                        <span class="count">3篇</span>
                        </a>
                    </div>
                    <div class="archive-item">
                        <a href="https://blog.csdn.net/weixin_43835542/article/month/2020/05" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/weixin_43835542/article/month/2020/05"}'>
                        <span class="time">05月</span>
                        <span class="count">5篇</span>
                        </a>
                    </div>
                    <div class="archive-item">
                        <a href="https://blog.csdn.net/weixin_43835542/article/month/2020/04" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/weixin_43835542/article/month/2020/04"}'>
                        <span class="time">04月</span>
                        <span class="count">3篇</span>
                        </a>
                    </div>
                    <div class="archive-item">
                        <a href="https://blog.csdn.net/weixin_43835542/article/month/2020/03" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/weixin_43835542/article/month/2020/03"}'>
                        <span class="time">03月</span>
                        <span class="count">5篇</span>
                        </a>
                    </div>
                    <div class="archive-item">
                        <a href="https://blog.csdn.net/weixin_43835542/article/month/2020/02" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/weixin_43835542/article/month/2020/02"}'>
                        <span class="time">02月</span>
                        <span class="count">9篇</span>
                        </a>
                    </div>
                    <div class="archive-item">
                        <a href="https://blog.csdn.net/weixin_43835542/article/month/2020/01" target="_blank" data-report-click='{"mod":"popu_538","spm":"1001.2101.3001.4138","ab":"new","dest":"https://blog.csdn.net/weixin_43835542/article/month/2020/01"}'>
                        <span class="time">01月</span>
                        <span class="count">5篇</span>
                        </a>
                    </div>
                </div>
        </div>
    </div>
</div>
	<div id="footerRightAds" class="isShowFooterAds">
		<div class="aside-box">
			<div id="kp_box_57" data-pid="57"><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- PC-博客详情页-左下视窗（300*600） -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-1076724771190722"
     data-ad-slot="1173711872"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=57&a=2488&c=0&k=&spm=1001.2101.3001.5001&d=1&t=3&u=071b0133fad24f62b155df18531f59de" style="display: block;width: 0px;height: 0px;"></div>
		</div>
	</div>
    <!-- 详情页显示目录 -->
<!--文章目录-->
<div id="asidedirectory" class="aside-box">
    <div class='groupfile' id="directory">
        <h3 class="aside-title">目录</h3>
        <div class="align-items-stretch group_item">
            <div class="pos-box">
            <div class="scroll-box">
                <div class="toc-box"></div>
            </div>
            </div>
        </div>
    </div>
</div>
</aside>
<script>
	$("a.flexible-btn").click(function(){
		$(this).parents('div.aside-box').removeClass('flexible-box');
		$(this).parents("p.text-center").remove();
	})
</script>
<script type="text/javascript"  src="https://g.csdnimg.cn/user-tooltip/2.4/user-tooltip.js"></script>
<script type="text/javascript"  src="https://g.csdnimg.cn/user-medal/1.0.6/user-medal.js"></script>    </div>
<div class="recommend-right  align-items-stretch clearfix" id="rightAside" data-type="recommend">
    <aside class="recommend-right_aside">
        <div id="recommend-right" >
                        <div class='flex-column aside-box groupfile' id="groupfile">
                <div class="groupfile-div">
                <h3 class="aside-title">目录</h3>
                <div class="align-items-stretch group_item">
                    <div class="pos-box">
                        <div class="scroll-box">
                            <div class="toc-box"></div>
                        </div>
                    </div>
                </div>
                </div>
            </div>
                <div id="recommendAdBox">
                    <div id="kp_box_479" data-pid="479"><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- PC-博客内页右侧第一顺位 -->
<ins class="adsbygoogle"
     style="display:inline-block;width:300px;height:600px"
     data-ad-client="ca-pub-1076724771190722"
     data-ad-slot="1827473444"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=479&a=3266&c=0&k=&spm=1001.2101.3001.4834&d=1&t=3&u=f221faff982e4a26982de649e79775ea" style="display: block;width: 0px;height: 0px;"></div>
                </div>
            <div class="recommend-list-box d-flex flex-column aside-box" id="recommend-list-box">
            <ul class="recommend-fixed-box align-items-stretch">
                <li class="right-item">
                    <a href="https://plugin.csdn.net/" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.478287.nonecase\"}","index":"1","strategy":"106_478287_RCMD","dest":"https://plugin.csdn.net/"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.478287.nonecase\"}","index":"1","strategy":"106_478287_RCMD","dest":"https://plugin.csdn.net/"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.478287.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.478287.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>CSDN官方插件，现在体验可获得永久免费去广告特权！</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://download.csdn.net/download/weixin_45553611/13985685" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-2.nonecase\"}","index":"2","strategy":"alirec","dest":"https://download.csdn.net/download/weixin_45553611/13985685"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-2.nonecase\"}","index":"2","strategy":"alirec","dest":"https://download.csdn.net/download/weixin_45553611/13985685"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-download-alirec-2.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-download-alirec-2.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>基于单片机的排队叫号系统</h5>
                            </div>
                            <span class="download_mark_button ">立即下载 </span>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://download.csdn.net/download/thexiaosi/13985721" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-3.nonecase\"}","index":"3","strategy":"alirec","dest":"https://download.csdn.net/download/thexiaosi/13985721"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-3.nonecase\"}","index":"3","strategy":"alirec","dest":"https://download.csdn.net/download/thexiaosi/13985721"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-download-alirec-3.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-download-alirec-3.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>Python exe打包插件及使用说明</h5>
                            </div>
                            <span class="download_mark_button ">立即下载 </span>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/qq_45385706/article/details/111356989" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-4.nonecase\"}","index":"4","strategy":"alirec","dest":"https://blog.csdn.net/qq_45385706/article/details/111356989"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-4.nonecase\"}","index":"4","strategy":"alirec","dest":"https://blog.csdn.net/qq_45385706/article/details/111356989"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-4.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-4.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>C语言编程＞第八周   ⑦   编写函数fun，它的功能是：根据以下公式求的值，结果由函数值带回。m与n为两个正整数且要求m＞n。</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/xjjj064/article/details/111993606" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-5.nonecase\"}","index":"5","strategy":"alirec","dest":"https://blog.csdn.net/xjjj064/article/details/111993606"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-5.nonecase\"}","index":"5","strategy":"alirec","dest":"https://blog.csdn.net/xjjj064/article/details/111993606"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-5.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-5.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>使用firewall-cmd限制ssh只能从指定IP段访问</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://download.csdn.net/download/ggxiabai/13985749" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-6.nonecase\"}","index":"6","strategy":"alirec","dest":"https://download.csdn.net/download/ggxiabai/13985749"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-6.nonecase\"}","index":"6","strategy":"alirec","dest":"https://download.csdn.net/download/ggxiabai/13985749"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-download-alirec-6.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-download-alirec-6.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>02-2NoteExpress视频教程.zip</h5>
                            </div>
                            <span class="download_mark_button ">立即下载 </span>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://download.csdn.net/download/weixin_38661466/13985681" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-7.nonecase\"}","index":"7","strategy":"alirec","dest":"https://download.csdn.net/download/weixin_38661466/13985681"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-7.nonecase\"}","index":"7","strategy":"alirec","dest":"https://download.csdn.net/download/weixin_38661466/13985681"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-download-alirec-7.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-download-alirec-7.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>中商广场（写字楼）项目可行性分析报告</h5>
                            </div>
                            <span class="download_mark_button ">立即下载 </span>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/qq_44318789/article/details/111992398" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-8.nonecase\"}","index":"8","strategy":"alirec","dest":"https://blog.csdn.net/qq_44318789/article/details/111992398"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-8.nonecase\"}","index":"8","strategy":"alirec","dest":"https://blog.csdn.net/qq_44318789/article/details/111992398"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-8.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-8.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>创建新的虚拟机</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/u013591740/article/details/111992244" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-9.nonecase\"}","index":"9","strategy":"alirec","dest":"https://blog.csdn.net/u013591740/article/details/111992244"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-9.nonecase\"}","index":"9","strategy":"alirec","dest":"https://blog.csdn.net/u013591740/article/details/111992244"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-9.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-9.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>jar包上传Maven中央仓库吐血笔记</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://download.csdn.net/download/qq_33197518/13985737" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-10.nonecase\"}","index":"10","strategy":"alirec","dest":"https://download.csdn.net/download/qq_33197518/13985737"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-10.nonecase\"}","index":"10","strategy":"alirec","dest":"https://download.csdn.net/download/qq_33197518/13985737"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-download-alirec-10.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-download-alirec-10.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>RDM_v2.2 屏幕分辨率调整工具.dmg</h5>
                            </div>
                            <span class="download_mark_button ">立即下载 </span>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/nodarkness/article/details/111993801" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-11.nonecase\"}","index":"11","strategy":"alirec","dest":"https://blog.csdn.net/nodarkness/article/details/111993801"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-11.nonecase\"}","index":"11","strategy":"alirec","dest":"https://blog.csdn.net/nodarkness/article/details/111993801"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-11.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-11.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>IDEA本地运行hadoop程序成功，集群运行找不到自定义的Mapper类</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/m0_51955470/article/details/111993851" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-12.nonecase\"}","index":"12","strategy":"alirec","dest":"https://blog.csdn.net/m0_51955470/article/details/111993851"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-12.nonecase\"}","index":"12","strategy":"alirec","dest":"https://blog.csdn.net/m0_51955470/article/details/111993851"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-12.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-12.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>递归实现指数型枚举</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://download.csdn.net/download/qq_39450072/13985707" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-13.nonecase\"}","index":"13","strategy":"alirec","dest":"https://download.csdn.net/download/qq_39450072/13985707"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-13.nonecase\"}","index":"13","strategy":"alirec","dest":"https://download.csdn.net/download/qq_39450072/13985707"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-download-alirec-13.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-download-alirec-13.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>MIPS实现银行账户流水查询系统</h5>
                            </div>
                            <span class="download_mark_button ">立即下载 </span>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/Bio12345/article/details/111993738" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-14.nonecase\"}","index":"14","strategy":"alirec","dest":"https://blog.csdn.net/Bio12345/article/details/111993738"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-14.nonecase\"}","index":"14","strategy":"alirec","dest":"https://blog.csdn.net/Bio12345/article/details/111993738"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-14.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-14.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>活体生物发光成像技术原理及应用</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://download.csdn.net/download/hsf15768615284/13985643" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-15.nonecase\"}","index":"15","strategy":"alirec","dest":"https://download.csdn.net/download/hsf15768615284/13985643"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-15.nonecase\"}","index":"15","strategy":"alirec","dest":"https://download.csdn.net/download/hsf15768615284/13985643"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-download-alirec-15.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-download-alirec-15.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>源代码以及protobuf文件转换工具</h5>
                            </div>
                            <span class="download_mark_button ">立即下载 </span>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://download.csdn.net/download/l346008087/13985638" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-16.nonecase\"}","index":"16","strategy":"alirec","dest":"https://download.csdn.net/download/l346008087/13985638"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-16.nonecase\"}","index":"16","strategy":"alirec","dest":"https://download.csdn.net/download/l346008087/13985638"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-download-alirec-16.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-download-alirec-16.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>海南省三亚市DEM数字高程数据30m（含市级范围shp文件）.zip</h5>
                            </div>
                            <span class="download_mark_button ">立即下载 </span>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/weixin_49984044/article/details/111559721" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-17.nonecase\"}","index":"17","strategy":"alirec","dest":"https://blog.csdn.net/weixin_49984044/article/details/111559721"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-17.nonecase\"}","index":"17","strategy":"alirec","dest":"https://blog.csdn.net/weixin_49984044/article/details/111559721"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-17.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-17.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>Tableau的计算字段、粒度、聚合、比率、表计算</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/qq_38619183/article/details/111993882" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-18.nonecase\"}","index":"18","strategy":"alirec","dest":"https://blog.csdn.net/qq_38619183/article/details/111993882"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-18.nonecase\"}","index":"18","strategy":"alirec","dest":"https://blog.csdn.net/qq_38619183/article/details/111993882"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-18.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-18.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>[沟通能力] 述职，你搞定了吗?</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://download.csdn.net/download/yu502586512/13985728" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-19.nonecase\"}","index":"19","strategy":"alirec","dest":"https://download.csdn.net/download/yu502586512/13985728"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-19.nonecase\"}","index":"19","strategy":"alirec","dest":"https://download.csdn.net/download/yu502586512/13985728"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-download-alirec-19.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-download-alirec-19.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>MyzSQ4GDq96483.zip</h5>
                            </div>
                            <span class="download_mark_button ">立即下载 </span>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://edu.csdn.net/course/detail/31528" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-20.nonecase\"}","index":"20","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31528"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-20.nonecase\"}","index":"20","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31528"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-20.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-20.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>RPA中级课程之一</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://edu.csdn.net/course/detail/31525" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-21.nonecase\"}","index":"21","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31525"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-21.nonecase\"}","index":"21","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31525"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-21.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-21.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>高级数据分析工具与AI求职</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/weixin_44857939/article/details/111992960" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-22.nonecase\"}","index":"22","strategy":"alirec","dest":"https://blog.csdn.net/weixin_44857939/article/details/111992960"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-22.nonecase\"}","index":"22","strategy":"alirec","dest":"https://blog.csdn.net/weixin_44857939/article/details/111992960"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-22.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-22.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>设计模式</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://chenchunbo.blog.csdn.net/article/details/111993777" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-23.nonecase\"}","index":"23","strategy":"alirec","dest":"https://chenchunbo.blog.csdn.net/article/details/111993777"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-23.nonecase\"}","index":"23","strategy":"alirec","dest":"https://chenchunbo.blog.csdn.net/article/details/111993777"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-23.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-23.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>在vue脚手架中如何使用ECharts</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://edu.csdn.net/course/detail/31524" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-24.nonecase\"}","index":"24","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31524"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-24.nonecase\"}","index":"24","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31524"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-24.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-24.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>SpringCloud微服务架构基础知识概述</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://edu.csdn.net/course/detail/31574" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-25.nonecase\"}","index":"25","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31574"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-25.nonecase\"}","index":"25","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31574"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-25.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-25.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>【拯救者】javaSwing界面速成GUI(含实战)</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://edu.csdn.net/course/detail/31549" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-26.nonecase\"}","index":"26","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31549"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-26.nonecase\"}","index":"26","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31549"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-26.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-26.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>C#零基础入门到精通教程</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://download.csdn.net/download/qq_45069279/13985729" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-27.nonecase\"}","index":"27","strategy":"alirec","dest":"https://download.csdn.net/download/qq_45069279/13985729"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-27.nonecase\"}","index":"27","strategy":"alirec","dest":"https://download.csdn.net/download/qq_45069279/13985729"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-download-alirec-27.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-download-alirec-27.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>电脑剪切板工具.zip</h5>
                            </div>
                            <span class="download_mark_button ">立即下载 </span>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/tsi2509495575/article/details/111993833" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-28.nonecase\"}","index":"28","strategy":"alirec","dest":"https://blog.csdn.net/tsi2509495575/article/details/111993833"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-28.nonecase\"}","index":"28","strategy":"alirec","dest":"https://blog.csdn.net/tsi2509495575/article/details/111993833"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-28.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-28.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>Casino验厂卡西诺审核涉及质量、社会责任标准要求</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://download.csdn.net/download/yqytqh/13985675" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-29.nonecase\"}","index":"29","strategy":"alirec","dest":"https://download.csdn.net/download/yqytqh/13985675"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-29.nonecase\"}","index":"29","strategy":"alirec","dest":"https://download.csdn.net/download/yqytqh/13985675"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-download-alirec-29.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-download-alirec-29.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>web页面实现随机生成验证码的小列子</h5>
                            </div>
                            <span class="download_mark_button ">立即下载 </span>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/big__banana/article/details/111994011" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-30.nonecase\"}","index":"30","strategy":"alirec","dest":"https://blog.csdn.net/big__banana/article/details/111994011"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-30.nonecase\"}","index":"30","strategy":"alirec","dest":"https://blog.csdn.net/big__banana/article/details/111994011"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-30.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-30.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>我与CSDN老妹儿的2020</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/henku449141932/article/details/111993750" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-31.nonecase\"}","index":"31","strategy":"alirec","dest":"https://blog.csdn.net/henku449141932/article/details/111993750"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-31.nonecase\"}","index":"31","strategy":"alirec","dest":"https://blog.csdn.net/henku449141932/article/details/111993750"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-31.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-31.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>[机器学习]协同过滤算法的原理和基于Spark 实例</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://edu.csdn.net/course/detail/31564" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-32.nonecase\"}","index":"32","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31564"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-32.nonecase\"}","index":"32","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31564"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-32.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-32.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>webrtc还想学</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://edu.csdn.net/combo/detail/1993" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-33.nonecase\"}","index":"33","strategy":"alirec","dest":"https://edu.csdn.net/combo/detail/1993"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-33.nonecase\"}","index":"33","strategy":"alirec","dest":"https://edu.csdn.net/combo/detail/1993"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-33.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-33.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>lucky带你玩转Python必会框架</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://download.csdn.net/download/weixin_38662089/13985672" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-34.nonecase\"}","index":"34","strategy":"alirec","dest":"https://download.csdn.net/download/weixin_38662089/13985672"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-34.nonecase\"}","index":"34","strategy":"alirec","dest":"https://download.csdn.net/download/weixin_38662089/13985672"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-download-alirec-34.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-download-alirec-34.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>如何成为优秀的销售经理</h5>
                            </div>
                            <span class="download_mark_button ">立即下载 </span>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://edu.csdn.net/combo/detail/1989" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-35.nonecase\"}","index":"35","strategy":"alirec","dest":"https://edu.csdn.net/combo/detail/1989"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-35.nonecase\"}","index":"35","strategy":"alirec","dest":"https://edu.csdn.net/combo/detail/1989"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-35.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-35.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>javaweb高薪就业课程</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://edu.csdn.net/course/detail/31533" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-36.nonecase\"}","index":"36","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31533"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-36.nonecase\"}","index":"36","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31533"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-36.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-36.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>移动端自动化测试Appium实战-基于Java语言-提供源码</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://download.csdn.net/download/MZYJP/13985731" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-37.nonecase\"}","index":"37","strategy":"alirec","dest":"https://download.csdn.net/download/MZYJP/13985731"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-download-alirec-37.nonecase\"}","index":"37","strategy":"alirec","dest":"https://download.csdn.net/download/MZYJP/13985731"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-download-alirec-37.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-download-alirec-37.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>安卓长包房大大大项目</h5>
                            </div>
                            <span class="download_mark_button ">立即下载 </span>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://edu.csdn.net/course/detail/31545" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-38.nonecase\"}","index":"38","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31545"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-38.nonecase\"}","index":"38","strategy":"alirec","dest":"https://edu.csdn.net/course/detail/31545"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-38.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-edu_course-alirec-38.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>剑雨Axure RP9 【实战演练】</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/qq_47692090/article/details/111993818" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-39.nonecase\"}","index":"39","strategy":"alirec","dest":"https://blog.csdn.net/qq_47692090/article/details/111993818"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-39.nonecase\"}","index":"39","strategy":"alirec","dest":"https://blog.csdn.net/qq_47692090/article/details/111993818"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-39.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-39.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>Ajax</h5>
                            </div>
                        </div>
                    </a>
                </li> 
                <li class="right-item">
                    <a href="https://blog.csdn.net/qq_48396513/article/details/111993689" target="_blank"  data-report-view='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-40.nonecase\"}","index":"40","strategy":"alirec","dest":"https://blog.csdn.net/qq_48396513/article/details/111993689"}'  data-report-click='{"ab":"new","mod":"popu_858","extra":"{\"utm_medium\":\"distribute.pc_blog_right_sidebar.none-task-blog-alirec-40.nonecase\"}","index":"40","strategy":"alirec","dest":"https://blog.csdn.net/qq_48396513/article/details/111993689"}'  data-report-query='utm_medium=distribute.pc_blog_right_sidebar.none-task-blog-alirec-40.nonecase&depth_1-utm_source=distribute.pc_blog_right_sidebar.none-task-blog-alirec-40.nonecase'>
                        <div class="context-box ">
                            <div class="content clearfix ">
                                <h5>iMazing与iTunes 两款iOS设备管理器区别 在备份操作上的对比</h5>
                            </div>
                        </div>
                    </a>
                </li> 
            </ul>
            </div>
        </div>
    </aside>
</div>

</div>
<div class="mask-dark"></div>
<script type="text/javascript">
    var timert = setInterval(function(){
      sideToolbar = $(".csdn-side-toolbar");
      if (sideToolbar.length > 0) {
        sideToolbar.css('cssText','bottom:64px !important;')
        clearInterval(timert);
      }
    }, 200);
</script>
<script>
    var articleId = 105773885;
    var commentscount = 0;
    var curentUrl = "https://blog.csdn.net/weixin_43835542/article/details/105773885";
    var myUrl = "https://my.csdn.net/";
    var highlight = ["Python","定时","任务"];//高亮数组
    var share_card_url = "https://blog.csdn.net/weixin_43835542/article/shareArticleCardPage?article_id=105773885"
	var articleType = 1;
    var baiduKey = "Python关于定时任务";
    var needInsertBaidu = true;
    var recommendRegularDomainArr = ["blog.csdn.net/.+/article/details/","download.csdn.net/download/","edu.csdn.net/course/detail/","ask.csdn.net/questions/","bbs.csdn.net/topics/","www.csdn.net/gather_.+/"]
    var codeStyle = "atom-one-light";
    var baiduSearchType = "utm_term";
    var canRead = true;
    var blogMoveHomeArticle = false;
    var showPcWindowAd = false;
    var linkPage = true;
</script>
<script src="https://csdnimg.cn/public/sandalstrap/1.4/js/sandalstrap.min.js"></script>
<div class="skin-boxshadow"></div>
<div style="display:none;">
	<img src="" onerror='setTimeout(function(){if(!/(csdn.net|iteye.com|baiducontent.com|googleusercontent.com|360webcache.com|sogoucdn.com|bingj.com|baidu.com)$/.test(window.location.hostname)){window.location.href="\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x73\x64\x6e\x2e\x6e\x65\x74"}},3000);'>
</div>
</body>
<script src="https://csdnimg.cn/release/blogv2/dist/components/js/pc_wap_highlight-db1e81323a.min.js" type="text/javascript"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/components/js/pc_wap_common-906586e915.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="https://csdnimg.cn/release/blog_editor_html/release1.6.12/ckeditor/plugins/codesnippet/lib/highlight/styles/atom-one-light.css">
<script>
 // 全局声明
 if (window.csdn === undefined) {
      window.csdn = {};
    }
    window.csdn.sideToolbar = {
        options: {
            report:{
                isShow: true,
            },
            qr: {
                isShow: false,
            },
            guide: {
                isShow: true
            }
        }
    }
    $(function(){
        $(document).on('click',"a.option-box[data-type='report']",function() {
            window.csdn.userLogin.loadAjax(function(res){
                showReport(false,articleTitles);
            })
        });
    })
</script>
    <script src="https://g.csdnimg.cn/baidu-search/1.0.9/baidu-search.js"  type="text/javascript"></script>
<script src="https://csdnimg.cn/release/download/old_static/js/qrcode.js"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/pc/js/common-b286f966c8.min.js" type="text/javascript"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/pc/js/detail-d9a4c4b737.min.js" type="text/javascript"></script>
<script src="https://g.csdnimg.cn/user-ordercart/1.0.6/user-ordercart.js" type="text/javascript"></script>
<script src="https://csdnimg.cn/release/blogv2/dist/pc/js/column-78261cfea6.min.js" type="text/javascript"></script>
<script src="https://g.csdnimg.cn/side-toolbar/2.8/side-toolbar.js" type="text/javascript"></script>
<script src="https://g.csdnimg.cn/copyright/1.0.3/copyright.js" type="text/javascript"></script>
<script>
    $(".MathJax").remove();
    if ($('div.markdown_views pre.prettyprint code.hljs').length > 0) {
        $('div.markdown_views')[0].className = 'markdown_views';
    }
</script>
<script type="text/javascript" src="https://csdnimg.cn/release/blog_mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/x-mathjax-config">
    MathJax.Hub.Config({
            "HTML-CSS": {
                    linebreaks: { automatic: true, width: "94%container" },
                    imageFont: null
            },
            tex2jax: {
                preview: "none"
            },
            mml2jax: {
                preview: 'none'
            }
    });
</script>
<script type="text/javascript" crossorigin src="https://g.csdnimg.cn/user-login/2.3.2/user-login.js"></script>
<script type="text/javascript" crossorigin src="https://g.csdnimg.cn/login-box/1.1.4/login-box.js"></script></html>
